Skip to content
uupaa edited this page Jun 1, 2014 · 2 revisions

Minify.js は結合したソースコードに対して

  1. 改行コードを統一する
  2. {@label ... }@lable コードブロックを除去する

といったプリプロセス処理を施します。

label で指定されたコードブロックを除去する

Minify.js は、結合した状態のファイルに対してプリプロセスを行い、--label @label オプションで指定された @label と一致するコードブロック( {@label ... }@lable )を除去します。

以下は、{@node ... }@node{@dec ... }@dec で囲まれたコードブロックが埋め込まれた a.js から、これらのコードブロックを除去する例です。

// a.js

//{@dev
function _if(booleanValue, errorMessageString) {
    if (booleanValue) {
        throw new Error(errorMessageString);
    }
}
//}@dev

//{@node
if (_inNode) {
    module["exports"] = Device;
}
//}@node

以下のコマンドでコンパイルすると、@node と @dev で囲まれたコードブロックが除去されたファイルが生成されます

$ node bin/Minify.js --label @node --label @dev --source a.js --output a.out.js

結果はこうなります。a.out.js は空っぽの状態になります。

// a.out.js