2015-09-15 133 views
0

当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模块的保存,并要求它每次,这样会出现什么情况?

回答

2

呼叫至require()缓存,所以不应该有这两个之间是有很大差别。但是,我会建议将所有模块加载到文件顶部。你的应用程序的启动会稍微慢一点,但它不应该有很大的区别,它更具可读性。

此外,调用require()被封锁,所以当它们被处理没有其他正在运行的节点。这是您将所有需求放在首位的另一个原因,因此您最终不会进一步阻碍您的应用。

相关问题