RequireJS:优化后包括jquery缓动包的问题

时间:2011-03-02 17:51:30

标签: javascript jquery plugins requirejs easing

我想将jquery缓动包包含到我的应用程序中。在requireJS文件被“优化”之前,它可以正常工作。现在我使用优化版本,当我调用使用缓动的动画时,我得到了这个错误:

“jQuery.easing [jQuery.easing.def]不是函数”(firefox)

“未捕获的TypeError:对象#的属性'未定义'不是函数”(chrome)


我像这样包括我的JS:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
<script src="http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js"></script>
<script data-main="/js/mesh-built.js" src="/js/libs/require.js"></script>

我的主要JS页面如下所示: http://thebeer.co/js/built/mesh-built.js

require(["globals","functionBank"],function(gb,r){

//myapp code

});

全局变量如下所示:

http://thebeer.co/js/globals.js


和functionbank看起来像这样:

http://thebeer.co/js/functionBank.js


我唯一的想法是,因为在全局和函数中声明了jquery是一个依赖,它是以某种方式传递而没有附加缓动包?我应该在主要的requireJS文件中附加缓动插件吗?

FORGOT TO MECTION: 只有在需要使用requireJS优化脚本后,此问题才会明显...

1 个答案:

答案 0 :(得分:3)

mesh-built.js文件似乎包含require.js内容。最好不要包含require.js(确保在构建配置文件中指定includeRequire:true 。我首先想到的是这个重复的需要导致问题,它可能没有正确引用jQuery,它被用来处理built.js文件。