【发布时间】:2015-08-15 00:46:50
【问题描述】:
我使用 RequireJS 已经有一段时间了,但我仍在努力掌握它...
我有一个简单的项目,其中包含许多 JS 插件,据我了解,我通过 paths 对象将这些插件拉入,但有时,当我添加一个新插件并运行我的脚本时,我得到一个控制台错误,解释依赖是undefined。
这是我的 JS:
require.config({
"paths": {
"jquery": "/content/themes/my-theme/bower_components/jquery/dist/jquery.min",
"foundation": "/content/themes/my-theme/bower_components/foundation/js/foundation.min",
"slick": "/content/themes/my-theme/bower_components/slick.js/slick/slick.min",
"scrollmagic": "/content/themes/my-theme/bower_components/scrollmagic/scrollmagic/minified/ScrollMagic.min"
},
"shim": {
"foundation": ["jquery"],
"slick": ["jquery"]
}
});
require(['jquery', "foundation", "slick", "scrollmagic"], function($) {
/* --------------------
Variables
---------------------*/
var
bodyEl = $( 'body' ),
isOpen = false,
content = $( '.content' ),
openbtn = $( '#open-button' ),
closebtn = $( '#close-button' ),
controller = new ScrollMagic.Controller();
$(document).foundation();
$(document).ready(function() {
navInit();
$('.main-slider').slick({
dots: false,
arrows: false,
infinite: true,
speed: 300,
slidesToShow: 1,
autoplay: true,
autoplaySpeed: 4000
});
});
});
我的项目一直运行良好,直到我添加了最新的依赖项scrollMagic...在浏览器中运行时出现以下错误:Uncaught TypeError: Cannot read property 'Controller' of undefined
我曾考虑将其添加到 shim,但由于该插件(目前)还没有特别依赖于任何东西,所以它应该是必要的。
我在这里做错了什么?
【问题讨论】:
标签: javascript requirejs