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不匹配的例子。