我正在尝试用jCarousel加载一个名为RequireJS的java插件。我的项目结构如下:
[project root]
assets
app
js
app.js
vendor
jquery-2.1.0.js
jquery.jcarousel-core.js
require.js我使用的是shim配置,所以我首先加载RequireJS,如下所示:
<script data-main="assets/js/app" src="assets/js/vendor/require.js"></script>然后在app.js中,我有一个RequireJS的配置:
requirejs.config({
"baseUrl": "assets/js/vendor",
"paths": {
"app": "../../app"
},
"shim": {
"jquery.jcarousel-core.js": ["jquery-2.1.0"]
}
});
// Load the main app module to start the app
requirejs(["app/main"]);当我用这个框架加载页面时,所有脚本似乎都加载了,但是浏览器控制台中的jcarousel代码出现了一个错误:
未定义的ReferenceError: jQuery未定义
该错误似乎来自于jQuery中的一行--我不记得这个过程的技术名称--“$”符号映射到'jQuery',例如:
return Plugin;
};
}(jQuery)); // THIS IS THE OFFENDING LINE这里的任何指导都将不胜感激!
基于应答的解决方案
所以这里的问题是,正如@MakeeshSapkal所言,我的jcarousel模块的shim配置中的行不应该包括.js。所以配置应该是:
requirejs.config({
"baseUrl": "assets/js/vendor",
"paths": {
"app": "../../app"
},
"shim": {
"jquery.jcarousel-core": ["jquery-2.1.0"]
}
});发布于 2014-02-16 11:50:31
从shim配置中删除.js。:)
"shim": {
"jquery.jcarousel-core": ["jquery-2.1.0"]
}希望这能成功!
https://stackoverflow.com/questions/21810326
复制相似问题