- Notifications
You must be signed in to change notification settings - Fork8
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
を追加してください。
//{@mixfor(...){}//}@mix