我有这段代码:
var config = module.exports = {};
config.foo = {...};
这可以找到,但我想了解原因。
我觉得我可以绕过下面的实现,因为它似乎更有意义导出配置,而不是设置配置等于module.exports。
var config = {};
config.foo = {...};
module.exports = config;
有人可以对此有所了解吗?
答案 0 :(得分:2)
var config = module.exports = {};
相当于
var config = (module.exports = {});
和
module.exports = {};
var config = module.exports;
此处导出的值为{}
。由于config
和module.exports
只是对同一对象{}
的引用,因此属性foo
仍然可以通过变量module.exports
或{{{{}}}添加到该对象1}}。