0

我使用下面的代码,我想从其他模块更新一些属性,我应该怎么做?

这是模块代码(实际上还有更多属性...)

"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";
4

1 回答 1

0

在那里扔一个writable: true

function define(name, value) {
    Object.defineProperty(exports, name, {
        value:      value,
        enumerable: true,
        writable: true
    });
}

这是一个 jsbin,您可以在其中看到它的工作原理:http://jsbin.com/burifi/edit?js, console

于 2016-07-19T20:38:36.447 回答