캐시를 삭제 한 후 앱의 초기로드에서 jquery가 정의되지 않음을 알게되었습니다. bc는 jquery가로드되기 전에 jquery 유효성 검사를로드하려고합니다. 새로 고침 후 모든 것이로드되어 제대로 작동합니다. 나는 이것을 올바르게 설정했다고 생각했지만 뭔가 빠졌는가? backbone.js, require.js 및 jquery를 사용하십시오.스크립트 로딩 순서 오류 - require.js
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();
});
앱 .js
define([
'jquery',
'underscore',
'backbone',
'validate',
'router',
'scripts'
], function($, _, Backbone, validate, Router, scripts){
var initialize = function(){
Router.initialize();
};
return {
initialize: initialize
};
});
나는 firebug html을 확인했는데 스크립트가 올바른 순서 (require, main, app, jquery, 밑줄, 백본, 유효성 검사)로로드되어있는 것처럼 보입니다. 그러나 여전히 유효성 검사 플러그인에서 jquery가 정의되지 않은 오류가 발생합니다. – user1572796