Имам Backbone приложения, където използвам RequireJS. По някакъв начин винаги получавам съобщението за Грешка 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>
на моята индексна страница.
И така, какъв е проблемът тук?
shim: {backbone:{deps:[]}}
- грешката изчезва... Но въпреки че jQuery винаги се зарежда като първи скрипт, не го разбирам... странно - person SHT   schedule 22.01.2014define
сам, или ще трябва да зададете подложка за него катоjqueryEffects: { deps: [ 'jquery'] }
. - person Louis   schedule 23.01.2014