即使我包括我的require-min.js
被包括在内,它没有从require.config
中拾取我的paths
。我已经使用data-main
方法来加载配置文件。
<!--when require.js loads it will inject another script tag
(with async attribute) for scripts/main.js-->
<script data-main="scripts/main" src="scripts/require.js"></script>
通常使用data-main脚本来设置配置选项然后加载第一个应用程序模块。[…]
然而,我为jQuery使用的别名不起作用。在我的config.js文件中…
...
paths: {
jQuery: 'ThirdParty/jquery-1.8.3.min'
...
我的<strong> index . html 如下…
...
<script type='text/javascript' src='js/require.js' data-main='js/config.js'></script>
...
require(['jQuery'], function ($) {
...
这会抛出以下错误有时在控制台:
GET http://<IPADDRESS>/js/jQuery.js 404 (Not Found) require.js:1895
Uncaught Error: Script error for: jQuery
我说有时候,因为,比如说,10次中有2次加载正确。怎么解呢?
免责声明:一个密切相关的问题是"理解需要路径"。然而,答案是不完整的,并没有出现在这个特定问题的顶部。此外,这是一个合理的复制粘贴从官方文档。如适用,请投反对票。哦,把这个也编辑掉吧;)
从上面引用的官方文档和阅读:
注意:require.js为你的data-main模块生成的脚本标签包含async属性。这意味着不能这样假设加载和执行data-main脚本将在
解决方案:
通过使用普通的旧<script>
标记同步包含配置文件:
<script type='text/javascript' src='js/require.js'>
<script src='js/config.js'></script>
问题解决了。
<
附加信息/strong>
文档
还可以将配置对象定义为全局变量require在加载require.js之前,并应用这些值自动。这个例子指定了一些要加载的依赖项require.js定义require():
<script>
var require = {
deps: ["some/module1", "my/module2", "a.js", "b.js"],
callback: function(module1, module2) {
//This function will be called when all the dependencies
//listed above in deps are loaded. Note that this
//function could be called before the page is loaded.
//This callback is optional.
}
};
</script>
<script src="scripts/require.js"></script>