【问题标题】:Update JS define property from outside从外部更新 JS 定义属性
【发布时间】:2016-07-19 20:20:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript node.js defineproperty


    【解决方案1】:

    在里面输入writable: true

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      相关资源
      最近更新 更多