Javascript 如何在全局和局部函数中使用require
我使用node JS应用程序,我用模块创建了新的JS文件,在这个模块中,我只导出了一个函数,在这个模块中,让我们假设我有另外两个函数,仅供内部使用,不应暴露在外部,每个函数使用不同的模块,如下所示:Javascript 如何在全局和局部函数中使用require,javascript,node.js,require,Javascript,Node.js,Require,我使用node JS应用程序,我用模块创建了新的JS文件,在这个模块中,我只导出了一个函数,在这个模块中,让我们假设我有另外两个函数,仅供内部使用,不应暴露在外部,每个函数使用不同的模块,如下所示: module.exports = function (app, express) { var bodyParser = require('body-parser'), url = require('url'), http = require('http');
module.exports = function (app, express) {
var bodyParser = require('body-parser'),
url = require('url'),
http = require('http');
.....
};
function prRequest(req, res) {
httpProxy = require('http-proxy');
....
}
function postRequest(req, res) {
url = require('url');
....
}
我的问题来自最佳实践,我应该将需求放在哪里(对于url http等)
1.在每个需要它的函数内部?在我的例子中是内部和外部
2.在每个函数都可以使用的文件中
3.如果两个都不合适,我应该把我应该在两个函数中使用的require URL放在哪里?最好放在两个函数中,或者放在全局中,否则没关系
模块应该暴露在函数外部,因为每次调用函数时调用都会增加额外的开销。比较:
const url = require('url');
const start = Date.now();
for (let i = 0; i < 10000000; i++) {
url.parse('http://stockexchange.com');
}
console.log(Date.now() - start);
模块应该暴露在函数外部,因为每次调用函数时调用都会增加额外的开销。比较:
const url = require('url');
const start = Date.now();
for (let i = 0; i < 10000000; i++) {
url.parse('http://stockexchange.com');
}
console.log(Date.now() - start);
谢谢投票!所以,只是为了证实你所说的。你会在我的帖子中保留类似的内容,对于我使用的每个函数,她都有自己的要求。正确吗。您如何处理more Than功能所需的url,提前感谢!没有。我编辑了我的答案以澄清我的意思。如果你需要在多个函数中使用url,那么你应该在函数之外定义它,就像在我的帖子编辑中一样。因此,为了澄清,需要在多个函数中使用的请求应该是全局的,并且当在特定文件中仅使用require时,应该在该函数中而不是全局的,如果im错误,请纠正我!所以,只是为了证实你所说的。你会在我的帖子中保留类似的内容,对于我使用的每个函数,她都有自己的要求。正确吗。您如何处理more Than功能所需的url,提前感谢!没有。我编辑了我的答案以澄清我的意思。如果你需要在多个函数中使用url,那么你可以在函数之外定义它,就像在我的帖子编辑中一样。因此,为了澄清,需要在多个函数中使用的请求应该是全局的,当需要仅在特定文件中使用时,应该在这个函数中而不是全局的,如果我错了,请纠正我
var bodyParser = require('body-parser'),
url = require('url'),
http = require('http');
module.exports = function (app, express) {
....
};
var httpProxy = require('http-proxy');
function prRequest(req, res) {
...
}