使用require()是否会影响性能?
问题描述:
当node.js需要两次模块时,它会返回相同的对象,因为require()
会缓存先前的调用。使用require()是否会影响性能?
第二个要求有多快?连续使用require()
是否会导致性能瓶颈?
因此,可以说我有一个这样的模块:
var util = require("util");
module.exports = function (param, logger) {
var module = {};
module.toString = function() {
return util.format("My nicely formatted text");
}
return module;
};
toString()
将被多次调用。
return require("util").format("My nicely formatted text");
这是否让我的应用程序要慢,如果我忽略的util
变量UTIL模块的保存,并要求它每次,这样会出现什么情况?
答
呼叫至require()
缓存,所以不应该有这两个之间是有很大差别。但是,我会建议将所有模块加载到文件顶部。你的应用程序的启动会稍微慢一点,但它不应该有很大的区别,它更具可读性。
此外,调用require()
被封锁,所以当它们被处理没有其他正在运行的节点。这是您将所有需求放在首位的另一个原因,因此您最终不会进一步阻碍您的应用。