私は使用しているjavascriptソースでGoogleクロージャコンパイラを使用したいと思います。 開発モードでは、機能を多くのファイルに分割する傾向がありますが、プロダクションではそれらをモジュールに結合したいと考えています。GoogleのClosure Compilerを使用してJavaScriptをモジュールに分割するにはどうすればよいですか?
コンパイラを呼び出すときに、コンパイルに含めるファイルのリストを与えることができますが、コンパイラがファイルリストの順序を保存していないことが出力されます。
これを検索したところ、異なるjsファイル間の依存関係を制御するために、goog.provide/good.requireを使用できることがわかりました。 、JSコンパイルされたファイルへ
var mainFile = {};
を:
goog.provide("mainFile")
これを追加します。それに 問題は、それが私は、たとえば、必要とするか、またはしたくない、私のjsのコードを追加することです私が望まないもの。 私はGoogleクロージャライブラリをまったく使用していません。使用したいのはコンパイラだけです。
私は必要がないより多くの "閉鎖ライブラリ"機能を含まずにファイルの順序をコンパイラに伝える方法はありますか? 私はもちろん、すべてのファイルを最初に取り出し、それらを1つにまとめてコンパイラの入力にするツールを自分で作成することができますが、コンパイラ自体で行うことができれば、それを無効にすることをお勧めします。
編集
の目標は、このスレッドで答えのようなモジュールを生成することができることです。Using the --module option in Closure Compiler to create multiple output files
そして私はそれにそこに行くどのファイルを制御する機能を追加したいですモジュールの順序を制御することができます。 今のところ私はワイルドカードを使用していませんが、将来的にはそうする予定です(可能な場合)。
は単に「猫は... file2.js> combined.js & &コンパイルをfile1.js」結構ですが、私たちの場合、それはもう少し複雑だと我々はそれを行うプログラム/スクリプトを記述する必要がありますいくつかの論理に基づいています。 ファイルの順番をコンパイラに何とか伝えることができれば、そのようなプログラムを実装する時間を節約できるかもしれません。
ありがとうございました。
いかが '猫ファイル1ファイル2>一時&&コンパイル-js temp'? – georg
ワイルドカード(* .js)を使用しているか、コンパイラを呼び出すときに各ファイルを順番に記述していますか? – GillesC
コメントのために大きすぎるので私は自分の質問を編集しました。ありがとう。 –