2012-09-07 6 views
5

F5キーを押してアプリケーションをリロードすると、エラーがスローされることがあります。RequireJSの動作が一貫していません

私はChromeでデバッグしています。時には、コンソールで次のエラー:

Uncaught ReferenceError: unit_directionals is not defined 

は時々参照はjqueryのため、この場合のように定義されていないことをスロー: 「キャッチされないのReferenceError:jQueryが定義されていない」私が持っている場合は間違っている可能性が何

を正しい方法でファイルを定義しましたか?

が、これはmain.jsで私が持っているコードは、メインインデックスのHTMLに指摘されています

requirejs.config({ 
    baseUrl: 'js/lib', 
    paths:{ 
     app:'../app', 
     models: '../app/models', 
     views: '../app/views' 
    } 
}) 

requirejs(
    [ 
     //load lib in this order 
     'underscore', 'handlebars', 'jquery','backbone', 'uri', 
     //load models, views... 
     'app/models/items.model', 'app/models/results.model', 
     'app/views/items.view', 'app/views/results.view', 
     'app/index' 
    ], 
    function(jQuery,$,_....) { 
     //init app 
    } 
); 
+1

私がここに投稿した同じ問題のように見えます:http://stackoverflow.com/questions/10959095/intermittent-requirejs-load-error。 Googleグループにはhttps://groups.google.com/forum/?fromgroups#!topic/requirejs/Eym3R08Bmmgというスレッドもあります。私たちはまだ解決策を探しています。 – redhotvengeance

+1

あなたが解決策を見つけるなら、私に兄を知らせてください、本当にそれをaprettiateします! –

+0

この問題がありました。 JQueryが2回含まれていたため、F5でランダムなスクリプトエラーが発生しました。 「jQuery」は、「Once once」と「MVC partial view」のscriptタグに含まれていました。ビューからjQueryスクリプトタグを削除しました。 F5は一日中できます。どのような頭痛! – Noobie3001

答えて

10

requirejsロードモジュール非同期と彼らは順不同で読み込むことができます - 彼らはロードすることが保証されていませんrequire呼び出しで指定された順序で呼び出します。スクリプトがAMDモジュールであり、その依存関係でdefine()を呼び出す場合、これは問題ではありません。

しかし、スクリプトがバックボーンやおそらくハンドルバーのようなブラウザのグローバルと暗黙の依存関係を使用する場合は、依存関係とエクスポート値を正しく表現するためにshim configが必要です。