1
在Node.js的,一些模塊出口對象在節點中,爲什麼某些模塊導出函數?
var Constructor = function() {};
exports.MyObject = new Constructor();
// or
module.exports = new Constructor();
和一些模塊導出功能:
var Constructor = function() {};
exports.MyConstructor = Constructor;
// or
module.exports = Constructor;
當我應該導出對象時,我應該導出功能?
我不清楚「這是一個重要的特性。有了它,可以返回」部分完成「的對象,從而允許傳遞依賴性被加載,即使它們會導致週期。」爲什麼,如果模塊代碼只執行一次,「多次調用require('foo')**可能不會導致模塊多次執行。」。 「可能」在「可能」中有什麼關係? –
「*** may ** not *」表示緩存[基於文件位置](http://nodejs.org/api/modules.html#modules_module_caching_caveats)。如果您在多個位置安裝了相同的模塊(作爲多個項目的依賴項,或者有時在沒有['npm dedupe'](https://npmjs.org/doc/dedupe.html))的'npm install'中,每個模塊都會有它自己的副本緩存。 –