使用RequireJS + jQuery加载jCarousel

我正在尝试使用RequireJS加载一个名为jCarousel的java插件。 我的项目结构如下所示:

[project root] assets app js app.js vendor jquery-2.1.0.js jquery.jcarousel-core.js require.js 

我正在使用shim配置,所以我首先加载RequireJS,如下所示:

   

然后在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模块的垫片配置中的行不应该包含.js。 所以配置应该是:

 requirejs.config({ "baseUrl": "assets/js/vendor", "paths": { "app": "../../app" }, "shim": { "jquery.jcarousel-core": ["jquery-2.1.0"] } }); 

从垫片配置中删除.js 。 🙂

 "shim": { "jquery.jcarousel-core": ["jquery-2.1.0"] } 

希望这个有用!!!