1

次のチュートリアルに沿って、プロジェクトを 1 つの .js ファイルに最適化しようとしましたが、残念ながら期待どおりの結果が得られないようです。r.js に最適化されたフォルダーを作成してもらいますが、単一のファイルではなく、個々の .js ファイルの醜いコピーがそれぞれのフォルダーに作成されます。最後の連結ステップが何らかの形で欠落しているようです。

パスを使用する代わりに既存の構成ファイルを活用しようとしていますが、その特定のステップがそれを壊しているかどうかはわかりません。

私の build/app.build.js は次のとおりです。

({
  appDir: '../',
  baseUrl: 'js',
  mainConfigFile: '../js/config.js',
  dir: '../../my-app-build',
  modules: [{
    name: 'main'
  }]
})

私の main.js ファイルには、依存関係として構成ファイルがあります。

require(["config"], function() {
  require(['underscore', [...]
    [...]
  }
}

そして、構成ファイルは、私のプロジェクトのすべての依存関係が宣言されている場所です:

require.config({
  baseUrl: "js",
  paths: {[...]},
  shim: {...]},
});

探している単一のファイル出力が得られない理由について、誰かが洞察を持っていますか? 私はこの投稿で他のアプローチを試しましたが、それは構成ファイルが前に追加された main.js しか生成しません。

ありがとう!

4

3 に答える 3

3

この問題は、r.js ビルド構成ファイルに次のオプションがないために発生しました。

findNestedDependencies: true

これがないと、r.js は main.js の最初の require を通過しないため、config.js のみをロードし、次のレベルの依存関係はロードしません。参考までに (最適化の結果が同じソース フォルダーに保存されることに注意してください。これは理想的ではありません)、次のようになります。

({
  baseUrl: '.',
  mainConfigFile: 'config.js',
  name: 'main',
  out: 'main-build.js',
  findNestedDependencies: true,
})
于 2013-05-14T04:23:11.807 に答える
1

私は同じ問題を抱えていて、Github Issue リストから解決策を得ました。この構成パラメーターも役立つかもしれません

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

If you only want one JS file built, instead of using dir: use out: for a single JS file build.

于 2013-05-13T04:38:15.640 に答える