Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用express node.js,调用函数中的函数,在路由器中导出和请求,并在路由器中渲染时将其交给ejs_Node.js_Module_Export_Require - Fatal编程技术网

使用express node.js,调用函数中的函数,在路由器中导出和请求,并在路由器中渲染时将其交给ejs

使用express node.js,调用函数中的函数,在路由器中导出和请求,并在路由器中渲染时将其交给ejs,node.js,module,export,require,Node.js,Module,Export,Require,当两个函数都将被导出时,函数能否在函数内部被识别? 这是我的密码 exports.generateUrlWithParam = function(idpUrl,subUrl,param){ var url = generateUrl(idpUrl, subUrl); if(url == null) { return null; } var paramStr = generateParam(param); return url + "?" + paramStr

当两个函数都将被导出时,函数能否在函数内部被识别? 这是我的密码

exports.generateUrlWithParam = function(idpUrl,subUrl,param){
  var url = generateUrl(idpUrl, subUrl);

  if(url == null) {
      return null;
  }

  var paramStr = generateParam(param);

  return url + "?" + paramStr;
}
此函数将在GenerateUrWithParam中使用

exports.generateUrl = function(idpUrl, subUrl) {
    if((idpUrl == null || ""==idpUrl.trim()) && (subUrl == null || ""==subUrl.trim())) {
        return null;
    }

    let url = idpUrl
    if(!idpUrl.endsWith("/")) {
        url += "/";
    }

    url += subUrl;

    url = url.replace(/\/+/g, "/");

    if(url.startsWith("http:/") && !url.startsWith("http://")) {
        url = url.replace(/^http:\//, "http://");
    } else if(url.startsWith("https:/") && !url.startsWith("https://")) {
        url = url.replace(/^https:\//, "https://");
    }

    return url;
}
它们将在ejs文件中使用。 显然,generateUrl未被识别

我在路由器文件中通过“require”使用这个js文件,并将其交给ejs文件
如果您有任何想法,我们将不胜感激。谢谢。

您可以将此函数称为
var url=exports.generateUrl(idpUrl,subUrl)