-
Notifications
You must be signed in to change notification settings - Fork 8
BuildTarget
package.json の webmodule
プロパティ以下を修正することで、ビルドするソースコードの追加や、設定の変更が可能です。
webmodule
以下に browser
, worker
, node
, nw
, el
を記述すると、その環境に最適化されたビルドが可能になります。
追加するソースコードがある場合は webmodule.{{environment}}.source:[ ... ]
に追加します。environment には環境名(browser, worker, node, nw, el)が入ります。配列の順番はそのままソースコードの読み込み順位(優先順位)になります。
{
"webmodule": {
"develop": false,
"labels": ["@dev", "@xbrowser"], // ビルド対象のソースコードに存在する @label の一覧です
// (@label の追加はプログラマーの仕事です)
"browser": { // ブラウザ向けの最適化設定
"source": ["lib/MyExample.js"], // ビルド対象のソースコードを指定します
"output": "release/MyExample.b.min.js", // ビルド結果の出力先を指定します
},
"worker": { // Worker向けの最適化設定
"source": ["lib/MyExample.js"], // ビルド対象のソースコードを指定します
"output": "release/MyExample.w.min.js", // ビルド結果の出力先を指定します
},
"node": { // Node.js向けの最適化設定
"source": ["lib/MyExample.js"], // ビルド対象のソースコードを指定します
"output": "release/MyExample.n.min.js", // ビルド結果の出力先を指定します
},
"nw": { // NW.js向けの最適化設定
"source": ["lib/MyExample.js"], // ビルド対象のソースコードを指定します
"output": "release/MyExample.nw.min.js", // ビルド結果の出力先を指定します
},
"el": { // Electron向けの最適化設定
"source": ["lib/MyExample.js"], // ビルド対象のソースコードを指定します
"output": "release/MyExample.el.min.js", // ビルド結果の出力先を指定します
}
},
"dependencies": { // MyExample.js から利用するモジュールを指定します
// ここで指定したモジュールは、`npm run sync` コマンドで
// node_modules 以下にインストールされ、
// `npm run build` のビルド対象となります
"uupaa.useragent.js": ""
},
"devDependencies": { // MyExample.js がユニットテストで必要とするモジュールを指定します
// ここで指定したモジュールは、`npm run sync` コマンドで
// node_modules 以下にインストールされますが `npm run build` でビルドされません
// あくまでデバッグ用として一時的に使用したい場合に指定します
"uupaa.xxxxx.js": ""
}
}
worker, node, nw, el 向けに最適化する必要がないモジュールは、worker: { ... }
, node: { ... }
, nw: { ... }
, el: { ... }
を削ってください。
以下のようにすると、Browser と nw.js 用に最適化ビルドを行い、Worker, Node.js, Electron 用のビルドを行わないモジュールになります。
"webmodule": {
"develop": false,
"label": ["@dev"],
"browser": {
"source": ["lib/MyExample.js"],
"output": "release/MyExample.b.min.js"
},
"nw": {
"source": ["lib/MyExample.js"],
"output": "release/MyExample.nw.min.js"
}
},
npm run min
や npm run build
コマンドを実行すると output
に指定されたファイル(MyExample.b.min など)を生成します。
ビルドに失敗した場合は、中間ファイル(release/.Minify.tmp.js
) を確認してください
package.json に修正を加える事で、ビルドセッティングを変更できます。
デフォルトの設定は以下のようになっています。ビルドオプションを参照してください。
"scripts": {
"min": "node ../WebModule/run/minify.js --verbose --strict --keep --pretty",
"build": "node ../WebModule/run/minify.js --verbose --strict --module"
}
以下の設定は、上級者向けです。最初のうちは読み飛ばしてください。
develop: true
を指定すると通常のモジュールではなく、開発用のツールとして扱われるようになり、リリースビルド時にソースコードがマージされないようになります。
label: ["@dev"]
には lib/MyExample.js に埋め込んだ {@ラベル
... }@ラベル
を列挙します。
以下のように、ユーザが独自のラベル @mix を使っている場合は、package.json の lable に @mix
を追加してください。
//{@mix
for (...) {
}
//}@mix