根据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"
}
答案 0 :(得分:2)
使用type="module"
声明时,变量不会自动附加到全局范围,而是自动附加到模块范围(不同)。
您必须将它们明确地附加到窗口,以免产生歧义,并使它们在整个应用程序中可见。
window.DAPP_VERSION = settings.version;