gpt4 book ai didi

javascript - RequireJS 并不总是加载模块

转载 作者:行者123 更新时间:2023-11-29 19:42:58 26 4
gpt4 key购买 nike

20% 的时间,脚本在使用 RequireJS 时加载失败。

除了 JS 库之外,我在应用程序中使用的其他文件还需要 base.js 文件,其中包含下划线和主干的配置和一些设置。没有这些设置,其他文件将无法工作。

脚本标签如下:

<script data-main="http://*path*/js/common" src="http://*path*/js/lib/require.js"></script>

common.js文件是

requirejs.config({
shim: {
underscore: {
exports: "_"
},
backbone: {
deps: ["jquery", "underscore"],
exports: "Backbone"
},
base: {
deps: ["backbone"]
}
},
paths: {
jquery: [
'//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min',
'http://*path*/media/admin/js/lib/jquery.min'
],
base: 'http://*path*/media/admin/js/base',
backbone: 'http://*path*/media/admin/js/lib/backbone',
underscore: 'http://*path*/media/admin/js/lib/underscore'
}

});

带有主干、下划线和 jQuery 设置的 base.js 文件包含:

define(['jquery', 'backbone', 'underscore'], function(jQuery, Backbone, _) {
//CODE
return var;
});

其他文件包含

define(['base'], function(var) {
//CODE
});

在我加载文件的页面中使用:

require(['common'], function() {
require(['page/file'], function() {
//CODE
});
});

我做错了什么,为什么 jQuery、underscore 和 backbone 有时加载失败,我该如何解决?

错误信息是:

GET http://*host*/backbone.js 404 (Not Found) require.js:1

Uncaught Error: Script error for: backbone
http://requirejs.org/docs/errors.html#scripterror

最佳答案

我不知道这是唯一的问题,但应该删除此 shim:

base: {
deps: ["backbone"]
}

您已经展示了一个调用definebase.js 文件。规则很简单:如果你的模块调用了define,那么你使用define来设置依赖,你传递给define的函数的返回值> 设置模块的值;如果您的模块调用define,那么您需要一个 shim 来设置依赖项并确定模块的值(如果需要)。

关于javascript - RequireJS 并不总是加载模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21906146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com