この質問がよく似たバリエーションで出てきたことは知っていますが、私のニーズに完全に適合する解決策はないようです。私は次の問題を抱えています:
開発では、複数のJSファイル(「オブジェクト」ごとに1つのファイル)を使用します。これらのJSファイルには、相互にいくつかの依存関係があります。一部は他のファイルに依存しているため、最初にそれらをロードする必要があります。現在、RequireJSを使用して各JSファイルを正しい順序でロードしているので、各ファイルのモジュールを定義します。上品でダンディ。しかし、今度は、すべてのJSファイルを1つの大きなJSファイルに連結します。これは、モジュール自体である必要があります。私はそれを行うためにRequireJSオプティマイザーr.jsを使用しています。私の問題:すべてのJSファイルは大きなJSファイルに連結されていますが、各オブジェクトのモジュール定義はに含まれています。1つの大きなファイルに1つの大きなモジュールはありませんが、1つの大きなファイルに多くのモジュールがあります。
その後、私は連結のためにうなり声を上げようとしましたが、これは正常に機能しますが、ファイルの依存関係を無視します。すべてのファイルをアルファベット順に連結するか、gruntfileで順序をハードコーディングする必要があります。
どうすればこれを解決できますか?
私の問題の実例として:私は次のファイル(擬似コード)を持っています:
FileA
- define FileA module
- depends on FileB
- FileA Logic
FileB
- define FileB module
- FileB Logic
そして、私はこの出力が欲しいです:
LibFile
- define LibFile module
- FileB Logic, FileA Logic
しかし、私はこれをr.jsで取得します(FileAとFileBからのモジュール定義がコピーされます):
LibFile
- define FileB module
- FileB Logic
- define FileA module
- depends on FileB
- FileA Logic
そして、私はうなり声でこれを手に入れます(間違った順序):
LibFile
- FileA Logic
- FileB Logic
その質問は少しばかげているかもしれませんが、私は誰もが使用しているように見えるツールではこれを解決できません...私もgrunt-requirejsプラグインを試しました。しかし、それは私が解決できなかったいくつかのエラーを投げます。
ありがとう、ピポ