使用しているJavaScriptソースでGoogleクロージャーコンパイラを使用したいと思います。開発モードでは、機能を多くのファイルに分割する傾向がありますが、本番環境では、それらをモジュールに結合する必要があります。
コンパイラを呼び出すときに、コンパイルに含めるファイルのリストを指定できますが、その出力は、コンパイラがファイルリストの順序を保存しなかったことを示しています。
私はそれについて検索し、異なるjsファイル間の依存関係を制御するためにgoog.provide/good.requireを使用できることを発見しました。それに関する問題は、それが私のjsに、私が必要としない、または必要としないコードを追加することです。たとえば、次のようになります。
goog.provide("mainFile")
これを追加します:
var mainFile = {};
コンパイルされたjsファイルに、私が望まないもの。私たちはグーグルクロージャーライブラリをまったく使用していません。私が使用したいのはコンパイラーだけです。
必要のない「クロージャーライブラリ」機能を追加せずに、ファイルの順序をコンパイラーに通知する方法はありますか?もちろん、最初にすべてのファイルを取得し、それらを1つに結合してコンパイラーの入力にする独自のツールを作成することもできますが、コンパイラー自体で実行できる場合は、それを無効にすることをお勧めします。
編集
目標は、このスレッドの答えのようなモジュールを作成できるようにすることです。ClosureCompilerの--moduleオプションを使用して、複数の出力ファイルを作成します。
そのため、順序を制御しながら、どのファイルをどのモジュールに入れるかを制御する機能を追加したいと思います。今のところワイルドカードは使用していませんが、将来的には使用する予定です(可能な場合)。
単に「catfile1.jsfile2.js>Combined.js && compile ...」で十分ですが、この場合は少し複雑で、ロジックに基づいてそれを実行するプログラム/スクリプトを作成する必要があります。どういうわけかコンパイラにファイルの順序を高度に伝えることができれば、そのようなプログラムを実装する時間を節約できるかもしれません。
ありがとう。