ES6:将变量保存到模块范围内

时间:2014-06-23 11:11:29

标签: javascript ecmascript-6

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

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

1 个答案:

答案 0 :(得分:2)

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

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

var config = null;

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

export { mySingleton };