我有一个使用RequireJS的骨干应用程序。不知怎么的,我总是得到Error-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>-tag中。
那么这里有什么问题呢?
发布于 2014-02-04 13:15:31
“未定义的ReferenceError:$”
您正在获取此错误,因为您使用的是需要jQuery的东西,而且在此之前您还没有加载jQuery。
您可能已经加载了jQuery,但它似乎没有在适当的时间加载。
您已经使用了许多插件,所以添加shim配置到所有使用jQuery的非AMD插件。
查看jquery之前加载了哪个jquery插件,这样就可以找到根本原因。
https://stackoverflow.com/questions/21280963
复制相似问题