javascript - 如何在 jQuery 文档就绪函数中使用模块中的(全局)变量?

标签 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>

上面给了我:

Uncaught ReferenceError: DAPP_VERSION is not defined

config/setting.js 包含:

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

最佳答案

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

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

window.DAPP_VERSION = settings.version;

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

关于javascript - 如何在 jQuery 文档就绪函数中使用模块中的(全局)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51571352/

相关文章:

javascript - ajax调用后如何重新初始化Owl Carousel?

javascript - ReactNative ListView 设置加载数据后的初始滚动位置

javascript - 打开一个新选项卡并写一些东西

javascript - 在fabricjs中克隆svg时出错

javascript - 在 Javascript 中延迟 ajax 响应