3

アプリケーションに jquery イージング パックを含めたいと考えています。requireJS ファイルが「最適化」される前は、正常に動作します。イージングを使用するアニメーションを呼び出すたびに、最適化されたバージョンを使用しています。このエラーが発生します。

「jQuery.easing[jQuery.easing.def] は関数ではありません」(firefox)

「キャッチされていない TypeError: オブジェクト # のプロパティ 'undefined' は関数ではありません」(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 に答える