У меня есть базовые приложения, в которых я использую 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>
в тег моей страницы индекса.
Итак, в чем проблема?
какая строка кода дает вам ошибку? – Lucian
@SHT: jQuery не загружается перед выполнением вашего скрипта, поэтому вы получаете $ undefined error. Убедитесь, что jquery загружен, прежде чем выполнять что-либо после этого. –
@SumodhNair Хмм точно, но я думал, что jQuery уже загружен, поэтому я действительно не знаю, что здесь изменить ... – SHT