2014-01-22 3 views
0

У меня есть базовые приложения, в которых я использую RequireJS. Как-то я всегда получаю сообщение Ошибка -message Uncaught ReferenceError: $ is not defined, поэтому, я думаю, я не правильно загружаю свои библиотеки.

моего RequireJS конфигурация выглядит следующим образом:

require.config({ 

paths: { 

    // Core libraries. 
    jquery: 'lib/jquery/jquery', 
    backbone: 'lib/backbone/backbone', 

    // Templating. 
    handlebars: 'lib/handlebars/handlebars', 

    // Plugins. 
    text : 'lib/requirejs-text/text', 
    less: 'lib/require-less/less', 
    lodash: 'lib/lodash/lodash.min', 
    all: 'lib/all/all', 
    imageload: 'lib/imageload/jquery.imagesloaded', 
    selectivizr: 'lib/selectivizr/selectivizr-min', 
    modernizr: 'lib/modernizr/modernizr.min', 
    jqueryEffects: 'lib/jquery/jquery.effects', 

    // App folders. 
    collections: 'app/collections', 
    models: 'app/models', 
    routers: 'app/routers', 
    templates: 'app/templates', 
    views: 'app/views' 
}, 

shim: { 
    backbone: { 
     deps: ['jquery', 'lodash', 'all', 'selectivizr', 'modernizr', 'less', 'jqueryEffects'], 
     exports: 'Backbone' 
    }, 
    lodash: { 
     exports: '_' 
    }, 
    handlebars: { 
     exports: 'Handlebars' 
    } 
} 
}); 

Я поместил <script data-main="js/config" src="js/lib/requirejs/require.js"></script> внутри <body> в тег моей страницы индекса.

Итак, в чем проблема?

+1

какая строка кода дает вам ошибку? – Lucian

+0

@SHT: jQuery не загружается перед выполнением вашего скрипта, поэтому вы получаете $ undefined error. Убедитесь, что jquery загружен, прежде чем выполнять что-либо после этого. –

+0

@SumodhNair Хмм точно, но я думал, что jQuery уже загружен, поэтому я действительно не знаю, что здесь изменить ... – SHT

ответ

0

«Uncaught ReferenceError: $ не определен»

Вы получаете эту ошибку, потому что вы используете что-то, что требует JQuery и вы не загрузили JQuery до этого.

Возможно, вы загрузили jQuery, но, похоже, он не загрузился в надлежащее время.

Вы использовали много плагинов, поэтому добавьте конфигурацию шайбы ко всем плагинам, отличным от AMD, которые используют jQuery.

Проверьте, какой плагин jquery загружен перед jquery, чтобы вы могли получить основную причину.

Смежные вопросы