模块导出新实例
Module.export-ing a New Instance
如果我像这样将对象附加到节点中的module.exports
对象:
module.exports = new Object()
我的应用程序中的每个object = require('./Object')
是创建该对象的新实例,还是会创建对一个实例的引用?
require()
缓存它执行的文件。
第一次require('./Object')
时,它将运行您的代码并将导出的对象放在require.cache
中。
后续调用将立即返回缓存的对象。
你可以自己从缓存中删除你的模块,或者使用一个getter,但这些都是坏主意。
查看节点文档中的缓存注意事项。 只要解析的模块路径匹配,您就会得到相同的对象。 此答案中有一个示例,说明何时解析的路径不匹配。
相关文章:
- 显示模块模式在Knockout中设置模型的新实例
- 如何基于数组值创建新实例
- VS2010 javascript调试器希望在VS2010的新实例中启动
- Web服务器意外退出,正在重新启动新实例
- JavaScript - 有没有办法动态创建对象的新实例
- CKEditor新实例始终处于卸载状态
- JavaScript中Var类型的新实例
- jQueryFileTree如何清除实例、重新实例化新实例或刷新
- 使用模块模式时,如何创建对象的新实例
- requirejs 模块的许多新实例
- 作用域变量正在创建引用而不是新实例
- 猫鼬数据不会保存模型的新实例
- 如何将当前日期动态添加到对象的新实例并将其推送到数组
- 如何通过请求动画帧从其新实例中移动形状
- Javascript 重新加载以加载新实例,而不是重新加载页面
- 无法在 javascript 中创建新实例
- 创建 JavaScript 自定义应用程序的新实例
- 从javascript中的未知对象创建新实例
- Array.prototype.fill() 带有对象传递引用而不是新实例
- 函数是否无法返回构造函数并创建新实例