我遇到的情况是,在require.js的配置中设置的路径没有被尊重,我有两个猜测,为什么不。我在require config的路径中设置了以下条目:
"initVars": "../initVars"
然后在一个模块中,我能够成功地将其称为"initVars"
但是,我也试图直接在脚本标记src'ing require.js下面的HTML中引用上面的脚本块(当然在'data-main'属性中指定配置文件) ):
//require(['initVars'], function(VARS) { // *doesn't work*
require(['../initVars'], function(VARS) {
VARS.init({
ENV: "${env}"; //"Play" framework "template" variable
});
});
所以我猜两个为什么在这种特殊情况下我必须指定完整路径如下,但我希望有人可以肯定地告诉我:
答案 0 :(得分:4)
请参阅文档中的data-main Entry Point部分:
注意:为您的data-main模块生成的脚本标记require.js包含async属性。这意味着您不能假设数据主脚本的加载和执行将在稍后在同一页面中引用的其他脚本之前完成。
此前在上面编写的旧答案也被添加到API文档中: