更新 JS 从外部定义 属性
Update JS define property from outside
我使用以下代码,我想从其他模块更新一些 属性,我应该怎么做?
这是模块代码(实际上还有更多属性...)
"use strict"
function define(name, value) {
Object.defineProperty(exports, name, {
value: value,
enumerable: true
});
}
define("USER_PATH","oldValue");
现在我从其他模块需要它,我想更新密钥 USER_PATH 以与 "newValue" 一起使用。
我尝试要求这个模块并喜欢遵循它不会更改 USER_PATH 中的值,在调试器中我看到 "oldValue"
var foo = require("theAboveModule")
foo.USER_PATH = "test";
在里面放一个writable: true
:
function define(name, value) {
Object.defineProperty(exports, name, {
value: value,
enumerable: true,
writable: true
});
}
这是一个 jsbin,您可以在其中查看它的运行情况:http://jsbin.com/burifi/edit?js,console
我使用以下代码,我想从其他模块更新一些 属性,我应该怎么做?
这是模块代码(实际上还有更多属性...)
"use strict"
function define(name, value) {
Object.defineProperty(exports, name, {
value: value,
enumerable: true
});
}
define("USER_PATH","oldValue");
现在我从其他模块需要它,我想更新密钥 USER_PATH 以与 "newValue" 一起使用。
我尝试要求这个模块并喜欢遵循它不会更改 USER_PATH 中的值,在调试器中我看到 "oldValue"
var foo = require("theAboveModule")
foo.USER_PATH = "test";
在里面放一个writable: true
:
function define(name, value) {
Object.defineProperty(exports, name, {
value: value,
enumerable: true,
writable: true
});
}
这是一个 jsbin,您可以在其中查看它的运行情况:http://jsbin.com/burifi/edit?js,console