【发布时间】:2015-08-26 11:26:13
【问题描述】:
我创建了以下 3 个文件:
base.js
var base = {};
base.one = 1;
base.two = 2;
base.three = 3;
base.bar = function(){
console.log( this.three );
};
a.js
var base = require('./base');
base.three = 6;
module.exports = base;
b.js
var base = require('./base');
module.exports = base;
test.js
var test_modules = ['a','b'];
test_modules.forEach( function( module_name ){
require( './' + module_name ).bar();
});
然后像这样运行 test.js:
node ./test.js
它输出这个:
6
6
为什么我在'a.js'中设置模块'base'的属性'three'时,会影响到'b.js'中的对象?
【问题讨论】: