Javascript jquery/下划线/backbone/parse模块的Require.js加载超时
未捕获错误:模块的加载超时:订单!libs/jquery/jquery-min 命令!libs/下划线/下划线最小顺序!libs/parse/parse-min libs/jquery/jquery-min-libs/下划线/下划线-min libs/parse/parse-min主干 我在Chrome的网络标签下没有404请求,也没有脚本错误,所以我不在这个问题的常见错误/修复范围之内(根据requirejs.org) 当我查看我的网络时,我看到脚本按以下顺序加载:Javascript jquery/下划线/backbone/parse模块的Require.js加载超时,javascript,backbone.js,requirejs,router,Javascript,Backbone.js,Requirejs,Router,未捕获错误:模块的加载超时:订单!libs/jquery/jquery-min 命令!libs/下划线/下划线最小顺序!libs/parse/parse-min libs/jquery/jquery-min-libs/下划线/下划线-min libs/parse/parse-min主干 我在Chrome的网络标签下没有404请求,也没有脚本错误,所以我不在这个问题的常见错误/修复范围之内(根据requirejs.org) 当我查看我的网络时,我看到脚本按以下顺序加载: require.js m
require.js
main.js
app.js <-- required by main.js
order.js <-- used in main.js to require the next 4 scripts (which aren't AMD)
jquery-min.js <-- required by main.js
underscore-min.js <-- required by main.js
backbone-min.js <-- required by main.js
parse-min.js <-- required by main.js
router.js
login.js
text.js
app.js:
// Filename: app.js
define( [ 'jQuery', 'Underscore', 'Parse', 'router' ],
function($, _, Parse, Router) {
var initialize = function() {
Parse.$ = $;
// Initialize Parse with your Parse application javascript keys
Parse.initialize("HIDDEN", "ALSO HIDDEN");
// Pass in our Router module and call it's initialize function
Router.initialize();
};
return {
initialize : initialize
};
});
router.js:
// Filename: router.js
define( [ 'jQuery', 'Underscore', 'Backbone', 'Parse', 'views/home/login', ],
function($, _, Backbone, Parse, loginView) {
var AppRouter = Backbone.Router.extend( {
routes : {
// Default
'*actions' : 'defaultAction'
},
defaultAction : function(actions) {
// We have no matching route, lets display the home page
loginView.render();
}
});
var initialize = function() {
var app_router = new AppRouter;
Backbone.history.start();
};
return {
initialize : initialize
};
});
我切换到在我的
main.JS
之外和index.html
中加载JS文件:
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.0.0.min.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js"></script>
<script data-main="js/main" src="js/libs/require/require.js"></script>
我刚刚发布了一个开源工具包,它将有助于解决此类问题。它是许多开源工具的组合,为您提供了一个开箱即用的requirejs主干应用程序 它提供了单个命令来运行:devweb服务器、jasmine单浏览器测试运行程序、jasmine js测试驱动程序多浏览器测试运行程序,以及JavaScript和CSS的concatenation/minification。它还输出应用程序的未统一版本以进行生产调试,预编译把手模板,并支持国际化 不需要设置。它只是工作
尝试使用requirejs jquery。它的requirejs版本已准备好与jquery一起使用,并尝试使用shim配置 请参阅此链接: 垫片配置示例:
require.config({
paths: {
"jqueryUI": "libs/jquery-ui",
"jquery": "libs/jquery-1.9.1",
"underscore": "libs/underscore-min",
"backbone": "libs/backbone-min"
},
shim: {
jqueryUI:{
deps: ["jquery"],
exports:"$"
},
underscore: {
exports: "_"
},
backbone: {
deps: ["underscore", "jquery"],
exports: "Backbone"
}
}
});
我知道这对你来说是可行的,但它不再使用requireJS来加载模块了,所以它并没有真正回答这个问题……这与AMD的原则大相径庭。
require.config({
paths: {
"jqueryUI": "libs/jquery-ui",
"jquery": "libs/jquery-1.9.1",
"underscore": "libs/underscore-min",
"backbone": "libs/backbone-min"
},
shim: {
jqueryUI:{
deps: ["jquery"],
exports:"$"
},
underscore: {
exports: "_"
},
backbone: {
deps: ["underscore", "jquery"],
exports: "Backbone"
}
}
});