javascript - ES6 : Save variable into module scope

标签 javascript ecmascript-6

我想知道是否以及如何将以下 config 保存到我的模块范围(将下面的 block 视为一个模块):

var config = null;

var mySingleton = {
    init: function(config) {
        config = config; // Naming conflict!
    },

    printConfig: function() {
        console.log(config); // Undefined!
    }
};

export { mySingleton };

不幸的是,发生了命名冲突。我需要像 module.config = config; 这样的东西。

注意:我使用的是 es6-module-transpiler .

最佳答案

没有。它是一个简单的变量,而不是全局变量(它可以作为全局对象的属性访问),因此它只是被遮蔽而不可用的“命名空间”。

您需要使用不同的名称来解决冲突,这应该是微不足道的并且不会在模块外造成任何影响:

var config = null;

var mySingleton = {
    init: function(conf) {
        config = conf;
    },
    printConfig: function() {
        console.log(config);
    }
};

export { mySingleton };

关于javascript - ES6 : Save variable into module scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24364431/

相关文章:

javascript - 使用 JavaScript 更改 JSP 中复选框的值

javascript - 单选按钮 'onclick' 在 Chrome 和 Firefox 中有效,但在 IE 中无效

php - jQuery/PHP - 按 PHP 数组值对 html 列表进行排序?

javascript - 在 ES6 React 类的函数中返回变量或常量

javascript - Lodash 克隆数组与扩展运算符

javascript - JavaScript中变量前的感叹号是什么意思

javascript - 从可以动态调整大小的背景中剪切出文本形状

javascript - 在 ReactJS/Javascript Es6 中使用哈希声明变量

javascript - Browserify Babel ES2015 Knockout 相互依赖模块

javascript - React,这在 render() 和 componentDidMount() 中未定义