Module.export一个新的实例

如果我将一个对象附加到节点中的module.exports对象,如下所示:

 module.exports = new Object() 

将每个object = require('./Object')在我的应用程序中创build该对象的新实例,或将创build一个实例的引用?

require()caching它执行的文件。

第一次你require('./Object') ,它会运行你的代码并把导出的对象放在require.cache
随后的调用将立即返回caching的对象。

你可以自己从caching中删除你的模块,或者使用getter,但这些都是不好的想法。

检查节点文档中的caching警告 。 只要parsing的模块path匹配,您将获得相同的对象。 有一个解决path不匹配的例子。