我有这个文件config.js
:
module.exports = function (cb) {
this.config = {
test: 4
}
return this.config;
}
我是从option.js
获得的:
var Config = require('./config.js');
new Config(function (config) {
var a = config.test;
}
现在的问题是:如何更改test
中config.js
的值?我希望它是5
,而不是4
。尝试config.test = something
,没有用。
答案 0 :(得分:0)
如果你真的需要使用回调函数,那么你必须在config.js
文件中调用它,而不是调用函数回调函数。
您可以调用函数回调并以这种方式编辑config.test
的值:
module.exports = function (cb) {
this.config = {
test: 4
}
cb(this.config);
}
以这种方式实例化新的Config对象:
var Config = require('./config.js');
new Config(function (config) {
config.test++; // or any operation that you consider propertly
});
所以你得到一个带有config.test = 5的新Config对象
但是你必须记住,你不能修改this.config.test
的真实(硬编码)值,而不是你正在创建一个类型为Config的新实例对象。
也许你真的不需要函数回调,而是可以在config.js
文件中以这种方式创建一个非硬编码的函数构造函数
module.exports = function (test) {
this.config = {
test: this.test
}
}
然后您可以创建对象并传递其他文件中所需的任何测试值
var Config = require('./config.js');
new Config(5);
我希望这可以帮到你。