我有一个网页,其中已通过脚本标记-
包含了requirejs<script data-main="/media/course-book-app/courses.require.main.js" src="/media/common/vendor/requirejs/require.js"></script>
是什么原因导致此问题? 这个问题在Safari上非常常见,而在chrome上则很少。
答案 0 :(得分:0)
来自https://requirejs.org/docs/errors.html#scripterror(在错误中链接到该位置)。按照说明进行操作,并查看导致错误的脚本
在脚本中触发script.onerror函数时会发生这种情况 浏览器。这通常表示存在JavaScript语法错误或 运行脚本的其他执行问题。要解决此问题,请检查 在脚本调试器中生成错误的脚本。
此错误可能不会在IE中显示,而只会在其他浏览器中显示,而是在 在IE中,当您看到“脚本”时,可能会看到No define call for ...错误。 错误”。这是由于IE在检测脚本错误方面的怪癖。
答案 1 :(得分:0)
这是正确使用requirejs的方法。这样可以确保在加载任何模块之前加载配置-
define('requireconfig', function(){
require.config({
paths: {
"jquery": "/common/vendor/jquery/jquery-1.9.1.min",
"backbone": "/common/vendor/backbone/backbone.min-1.1.2",
"underscore": mediaPath + "/common/vendor/underscore/underscore.min-1.7.0"
},
shim: {
backbone : {
deps: ["jquery","underscore"],
exports: "Backbone"
},
}
});
});
define('main', ['requireconfig'], function () {
'use strict';
});
// loading main module which loads the requirejs configuration
requirejs(['main'],()=>{
requirejs(['jquery'], ($)=>{//jquery loaded});
}, ()=>{//error loading module})