使用expressnode.js,在函数中调用函数,在router中exports和require,在router中渲染时交到ejs
using express node.js, call a function in a function and exports and require in router and hand in to ejs when rendering in router
当函数都被导出时,函数内部能否被识别?
这是我的代码
exports.generateUrlWithParam = function(idpUrl,subUrl,param){
var url = generateUrl(idpUrl, subUrl);
if(url == null) {
return null;
}
var paramStr = generateParam(param);
return url + "?" + paramStr;
}
并且这个函数将在 generateUrlWithParam 中使用
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);
当函数都被导出时,函数内部能否被识别? 这是我的代码
exports.generateUrlWithParam = function(idpUrl,subUrl,param){
var url = generateUrl(idpUrl, subUrl);
if(url == null) {
return null;
}
var paramStr = generateParam(param);
return url + "?" + paramStr;
}
并且这个函数将在 generateUrlWithParam 中使用
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);