2011-03-02 23 views
3

我想將jquery緩動包包含到我的應用程序中。在requireJS文件被「優化」之前,它工作正常。現在,我使用的是優化版當過我調用使用寬鬆的動畫我得到這個錯誤:RequireJS:優化後包含jquery緩動包的問題

「jQuery.easing [jQuery.easing.def]是不是一個函數」(火狐)

「未捕獲類型錯誤:對象#的特性 '未定義' 不是一個函數」(鉻)


我包括我的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文件中添加easing插件嗎?

忘了提:一旦劇本已被requireJS優化 此問題僅明顯...

回答

3

的網格built.js文件似乎包括require.js內容。最好如果它不包含require.js(確保includeRequire:true是而不是在構建配置文件中指定。我的第一個想法是這個重複的需求導致了問題,它可能沒有正確的引用jQuery和它被用來處理built.js文件。