Skip to content
uupaa edited this page Aug 14, 2014 · 6 revisions

Minify のビルドフェーズについて

Minify.js は、ソースコードの結合と Minify を以下の段階に分けて処理しています。

  1. package.json の x-build から、ビルドに必要なファイルの情報を収集します
    • x-build.source から、ビルド対象のファイル名を取得します
    • x-build.output から、ビルド結果の出力先を取得します
    • x-build.label から、プリプロセスで処理する @label の情報を取得します
    • x-build.module から、依存関係にあるモジュールの情報を取得します
    • x-build.module.develop から、モジュールの単体テストに必要なモジュールのリストを取得します
    • --release オプションが指定されている場合は x-build.module.release から、リリースビルドに必要なモジュールのリストを取得します
  2. --extra file オプションが指定されている場合は、ビルド対象に加えます
  3. ビルド対象のファイルを結合します
  4. 結合した状態のソースコードに対して プリプロセス を行います
    • 改行コードを "\n" に統一します
    • {@label ... }@label コードブロックを除去します
  5. Closure Compiler によるコンパイルを行い、コンパイル結果の通知を行います
  6. x-build.output で指定されたファイルにコンパイル結果を保存します
    • --output が指定されている場合は、そちらにコンパイル結果を保存します