【发布时间】:2013-06-20 09:46:24
【问题描述】:
在清除缓存后的应用程序初始加载时,我得到一个 jquery 未定义 bc 应用程序试图在加载 jquery 之前加载 jquery validate。刷新后,一切都加载并正常工作。我以为我设置正确,但我错过了什么吗?使用backbone.js、require.js和jquery。
Main.js:
require.config({
paths: {
'jquery': 'libs/jquery/jquery-min',
'underscore': 'libs/underscore/underscore-min',
'backbone': 'libs/backbone/backbone-min',
'validate': 'jquery.validate-1.11.1.min',
'templates': '../templates'
},
shim: {
jquery: {
exports: "jquery"
},
underscore: {
exports: '_'
},
backbone: {
deps: ['underscore', 'jquery'],
exports: "backbone"
},
validate: {
deps: ['jquery'],
exports: "validate"
}
},
});
require([
'app'
], function(App){
App.initialize();
});
App.js
define([
'jquery',
'underscore',
'backbone',
'validate',
'router',
'scripts'
], function($, _, Backbone, validate, Router, scripts){
var initialize = function(){
Router.initialize();
};
return {
initialize: initialize
};
});
这是我将文件更新到的内容,但仍然没有运气:
require.config({
paths: {
'jquery': 'libs/jquery/jquery-min',
'underscore': 'libs/underscore/underscore-min',
'backbone': 'libs/backbone/backbone-min',
'validate': 'jquery.validate-1.11.1.min',
'templates': '../templates'
},
shim: {
underscore: {
exports: '_'
},
backbone: {
deps: ['underscore', 'jquery'],
exports: "Backbone"
},
validate: {
deps: ['jquery', 'backbone'],
exports: "validate"
}
}
});
require([
'app'
], function(App){
App.initialize();
});
App.js
define([
'jquery',
'underscore',
'backbone',
'validate',
'router',
'scripts'
], function($, _, Backbone, validate, Router, scripts){
var initialize = function(){
Router.initialize();
};
return {
initialize: initialize
};
});
【问题讨论】:
-
我检查了 firebug html,看起来脚本以正确的顺序加载 - 要求、主、应用程序、jquery、下划线、主干、验证,但我仍然收到 jquery is undefined 错误验证插件。
标签: jquery backbone.js requirejs