不知怎的,我总是收到这个错误:
Uncaught ReferenceError: jQuery is not defined
我的印象是jQuery(通过CDN加载)需要更多时间加载(通过Chrome上的网络选项卡确认).我在我的PC上本地运行,这就是为什么CDN调用总是比库更长.但是在加载jQuery之前,是不是需要等待jQuery加载其他库之前?
我的boot.js:
(function(){
requirejs.config({
baseUrl: '/assets/js/',paths: {
'lib': 'lib/','src': 'src/','jquery': [
'//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min','lib/jquery-1.9.1.min'
],'mootools': 'lib/mootools-core-1.4.5','class.mutators': 'lib/Class.Mutators.jQuery'
//'order': 'assets/js/lib/order',},shim: {
'class.mutators': {
deps: [
'mootools'
],exports: 'classmutators'
},'underscore': {
exports: '_'
}
},waitSeconds: 15
});
requirejs([
'jquery','src/app-require'
],function($){
$(document).ready(function(){
var App = new $.App($('body'));
});
});
})();
我的app-require.js:
define([
'mootools','class.mutators','src/Tracker','lib/jquery.easing.1.3','lib/nivo/jquery.nivo.slider.pack','lib/isotope/jquery.isotope.min','lib/waypoints.min'
],function() {
var className = 'App';
//--
return $[className] = new Class({
jQuery: className,Implements: [Options,Events],options: {},//-- init
//---------------------------------------------
initialize: function(el,options) {
...
},...
});
});
有任何想法吗?
最佳答案
jQuery不在任何依赖项中.你应该在mutator的shim依赖项中添加它:
原文链接:https://www.f2er.com/jquery/428207.html shim: {
'class.mutators': {
deps: [
'jquery','mootools'
],
以下是如何使用shim处理jQuery依赖关系的官方示例:https://github.com/requirejs/example-jquery-shim#how-its-set-up