5

F5キーを押してアプリをリロードすると、エラーがスローされる場合とスローされない場合があります。

Chromeでデバッグしています。コンソールがこのエラーを報告することがあります。

Uncaught ReferenceError: unit_directionals is not defined

この場合のjqueryのように、参照が定義されていないことをスローすることがあります: "Uncaught ReferenceError:jQuery is not defined"

ファイルを正しい方法で定義した場合、何が問題になる可能性がありますか?

これは、メインインデックスhtmlでポイントされているmain.jsにあるコードです。

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
    }
);
4

1 に答える 1

10

requirejsはモジュールを非同期でロードし、順序が狂ってロードされる可能性があります。require呼び出しで指定された順序でロードされるとは限りません。スクリプトがAMDモジュールであり、依存関係を指定してdefine()を呼び出す場合、これは問題ではありません。

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

于 2012-09-08T06:19:25.507 に答える