5

不知何故,我总是收到此错误:

未捕获的 ReferenceError:未定义 jQuery

我的印象是 jQuery(通过 CDN 加载)需要更多时间来加载(由 Chrome 上的网络选项卡确认)。我在我的 PC 上本地运行它,这就是为什么 CDN 调用总是比库长的原因。但是 requirejs 不应该在加载 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) {
              ...
    },

            ...
    });
});

有任何想法吗?

4

1 回答 1

4

jQuery 没有任何依赖关系。您应该将其添加到 mutator 的 shim 依赖项中:

  shim: {
            'class.mutators': {
                deps: [
                    'jquery',
                    'mootools'
                ],
                exports: 'classmutators'
            },
            'underscore': {
                    exports: '_'
            }
        },

这是如何使用 shim 处理 jQuery 依赖项的官方示例:https ://github.com/requirejs/example-jquery-shim#how-its-set-up

于 2013-06-10T06:06:12.163 回答