Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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
Javascript 如何在全局和局部函数中使用require_Javascript_Node.js_Require - Fatal编程技术网

Javascript 如何在全局和局部函数中使用require

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');

我使用node JS应用程序,我用模块创建了新的JS文件,在这个模块中,我只导出了一个函数,在这个模块中,让我们假设我有另外两个函数,仅供内部使用,不应暴露在外部,每个函数使用不同的模块,如下所示:

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) {
    ...
}