我有3个文件:
Child1:
var Parent = require('./Parent');
Parent['type'] = 'Child1';
module.exports = Parent;
CHILD2:
var Parent = require('./Parent');
Parent['type'] = 'Child2';
module.exports = Parent;
父:
module.exports = { 'parent' : 1 }
test.js:
var test1 = require('./Child1')
var test2 = require('./Child2')
结果:
{ parent: 1, type: 'Child2' }
----
{ parent: 1, type: 'Child2' }
为什么?
答案 0 :(得分:0)
模块在第一次加载后进行缓存。这意味着 (除此之外)每个要求的呼叫(' foo')都会得到 返回完全相同的对象,如果它将解析为相同 文件。
这不仅对于演出而且对于模块初始化特别方便。如果您需要不同的对象,请将模块更改为工厂。