2015-09-15 132 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()被封鎖,所以當它們被處理沒有其他正在運行的節點。這是您將所有需求放在首位的另一個原因,因此您最終不會進一步阻礙您的應用。

相關問題