3

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

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

“未捕获的类型错误:对象 # 的属性‘未定义’不是函数”(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


和功能库看起来像这样:

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


我唯一的想法是因为 jquery 被声明为全局变量和函数中的依赖项,它以某种方式在没有附加缓动包的情况下被传入?我应该从主 requireJS 文件中附加缓动插件吗?

忘记提及: 这个问题只有在脚本被 requireJS 优化后才明显......

4

1 回答 1

3

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

于 2011-03-08T06:56:00.407 回答