1

こんにちは、

r.js を使用して Require.js と Backbone に基づいてソース コードを最適化しようとしていますが、コンパイル中に次のエラーが発生します。

Tracing dependencies for: main
Cannot optimize network URL, skipping: empty:.js
TypeError: Cannot read property 'normalize' of undefined
In module tree:
    main
      app
        router
          views/main_panel/event_details
            helpers/template_manager

私の template_manager モジュールは「正規化」プロパティにアクセスしようとしないので、それが何を意味するのかよくわかりません。ここに、私のアプリケーションへのエントリ ポイントと、require.js 構成を示します。

require.config({
  paths: {
order: 'libs/requirejs-plugins/order',
        text: 'libs/requirejs-plugins/text',
        jQuery: 'libs/jquery/jquery',
        Underscore: 'libs/underscore/underscore',
        Backbone: 'libs/backbone/backbone',
        templates: '../templates',
    Sync: 'helpers/sync'
  }
});

require([
  'app',
  'event_manager',
  'order!https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js',
  'order!libs/underscore/underscore-min',
  'order!libs/backbone/backbone-min',
  'helpers/objects_extension',
  'helpers/date_extension',
  'helpers/assets'
], function(App){
    App.initialize();
});

アプリケーション自体は、多かれ少なかれこのチュートリアルの内容に従います。私のapp.build.jsファイルは次のとおりです

({
    appDir: "../",
    baseUrl: "js",
    dir: "../app-build",
    modules: [
        {
            name: "main"
        }
    ],
    paths: {
        order: 'empty:',
        text: 'empty:',
        jQuery: 'empty:',
        Underscore: 'empty:',
        Backbone: 'empty:',
        templates: '../templates',
        Sync: 'helpers/sync'
    }
})

ご協力ありがとうございました。

4

1 に答える 1

4

ジェームズ・バーク 言います:

テキストプラグインは、テキストを処理するためにローダーによってロードされる必要があります! 依存関係。ローダー プラグインは、リソースを解決するためにビルドの一部として実行されます。

したがって、パス構成からテキスト「空:」を削除し、excludes: を残すだけで十分なので、最終的なビルド結果には含まれません。これは、オプティマイザーによって読み取られる te​​xt.js がローカルで利用可能であることを前提としています。

https://github.com/jrburke/r.js/issues/221

于 2012-08-10T20:06:32.630 に答える