RequireJS - 看不到页面内部的变量
RequireJS - not seeing variables from inside the page
我正在尝试弄清楚为什么我的新网站总是出现这些错误:
<script data-main="/2018/v5/js/app" src="/2018/v5/js/lib/require.js" async="true"></script>
<title>Title</title>
<script>window.VARS = {
thisPage: "home_new",
temp_set: "luna"
};
</script>
然而,在一些(有些,我的意思是根本不多)中,我得到一个错误:
TypeError: window.VARS is undefined
我认为问题出在正文中设置了 window.VARS
(我们用它来传输与页面相关的参数)。简单地将它移动到 DOM 会有帮助吗?即:
<title>Title</title>
<script>window.VARS = {
thisPage: "home_new",
temp_set: "luna"
};
</script>
<script data-main="/2018/v5/js/app" src="/2018/v5/js/lib/require.js" async="true"></script>
很难测试,因为我根本无法重现这个问题 - 但我在 Errorception.com(我们用于跟踪外部错误的系统)中看到了错误,所以我'意识到这是一个问题。如果可能的话,我只想修复它。
它应该可以解决您的问题,但在任何情况下都应该像这样防止这种竞争情况:
window.VARS = window.VARS || {};
window.VARS.thisPage= "home_new";
window.VARS.temp_set= "luna"
每次尝试设置属性时都遵循相同的模式。
我刚刚意识到的另一种更简单的方法是defer
您的脚本执行直到页面加载完毕:
<script data-main="/2018/v5/js/app" src="/2018/v5/js/lib/require.js" async="true" defer></script>
我正在尝试弄清楚为什么我的新网站总是出现这些错误:
<script data-main="/2018/v5/js/app" src="/2018/v5/js/lib/require.js" async="true"></script>
<title>Title</title>
<script>window.VARS = {
thisPage: "home_new",
temp_set: "luna"
};
</script>
然而,在一些(有些,我的意思是根本不多)中,我得到一个错误:
TypeError: window.VARS is undefined
我认为问题出在正文中设置了 window.VARS
(我们用它来传输与页面相关的参数)。简单地将它移动到 DOM 会有帮助吗?即:
<title>Title</title>
<script>window.VARS = {
thisPage: "home_new",
temp_set: "luna"
};
</script>
<script data-main="/2018/v5/js/app" src="/2018/v5/js/lib/require.js" async="true"></script>
很难测试,因为我根本无法重现这个问题 - 但我在 Errorception.com(我们用于跟踪外部错误的系统)中看到了错误,所以我'意识到这是一个问题。如果可能的话,我只想修复它。
它应该可以解决您的问题,但在任何情况下都应该像这样防止这种竞争情况:
window.VARS = window.VARS || {};
window.VARS.thisPage= "home_new";
window.VARS.temp_set= "luna"
每次尝试设置属性时都遵循相同的模式。
我刚刚意识到的另一种更简单的方法是defer
您的脚本执行直到页面加载完毕:
<script data-main="/2018/v5/js/app" src="/2018/v5/js/lib/require.js" async="true" defer></script>