此问题建立在answer到之前的question之上,我正在寻找一种解决方案,在不使用Factory模式的情况下在系统(SDK)的actor(nodejs模块)之间共享配置数据。
这次我需要通过为不同的SDK实例提供不同的配置数据来制作SDK多租户。
app.js
var SDKAcctA = require("./sdk");
SDKAcctA.config = {key: "key", secret: "secret"};
var SDKAcctB = require("./sdk");
SDKAcctB.config = {key: "key2", secret: "secret2"};
// use both of them concurrently without each one overriding the config data of the other
var mA = new SDKAcctA.M1();
mA.doSomething();
var mB = new SDKAcctB.M1();
mB.doSomething();
sdk.js
var SDK = function(){};
SDK.config = {key: null, secret: null};
module.exports = SDK;
require("./m1"); //executing other modules to make it work
m1.js
var SDK = require("./sdk");
var M1 = function(){};
M1.prototype.doSomething = function(){
var config = SDK.config //getting access to main module's config data
};
SDK.M1 = M1;
问题:
现在配置数据被另一个实例覆盖,这就是问题所在。请指教。