如何在jQuery文档准备功能内的模块中使用(全局)变量?

时间:2018-07-28 12:23:20

标签: javascript asch-development

根据SO问题Global javascript variable inside document.ready,我应该能够在jQuery文档准备功能中使用全局变量。当我的变量在模块中声明时,我该怎么做?

<script type="module">
        import settings from './config/settings.js';
        var DAPP_VERSION = settings.version;
</script>
<script type="text/javascript">
var OTHER = 4;
</script>
<script type="text/javascript">
        $(document).ready(function() {
        console.log(OTHER);
        console.log(DAPP_VERSION);
    }); 
</script>

上面给了我:

  

未捕获的参考错误:未定义DAPP_VERSION

config/setting.js包含:

export default {
    version: "1.1",
    rounds: 3,
    cars: 20,   
    lapLenght: "short"
}

1 个答案:

答案 0 :(得分:2)

使用type="module"声明时,变量不会自动附加到全局范围,而是自动附加到模块范围(不同)。

您必须将它们明确地附加到窗口,以免产生歧义,并使它们在整个应用程序中可见。

window.DAPP_VERSION = settings.version;

http://jsfiddle.net/R6FNs/572/