去年、【webpack】(現時点で)ES2015 (ES6)のままminifyする方法という記事を書き、
先月も【webpack】(2018年1月現時点で)ES2015 (ES6)のままminifyする方法という記事を書きましたが、
webpackv4.0.0がリリースされて公式にサポートされるようになったので、記事書きます。
リリース:
https://github.com/webpack/webpack/releases/tag/v4.0.0
結論
結論は、webpackv4.0.0使えということになります。
設定
package.json
webpackv4.0.0からはcli起動には、webpack-cliが必要な様子
// ・・・
"devDependencies": {
// ・・・
"webpack": "^4.0.0",
"webpack-cli": "^2.0.9",
}
// ・・・
optimization.minimize
https://github.com/webpack/webpack/releases/tag/v4.0.0
を見ると、optimization.minimizeの設定でminifyの制御ができる様子。
(webpack.optimize.UglifyJsPluginはもう使いません。使おうとするとエラーになります。)
modeの指定によってデフォルトの動作が変わるようなので、'production'でしかminifyしないつもりなら特別な設定は必要ないと思う。
以下は、modeに依存せず、常にminifyする場合の設定。
module.exports = {
// ・・・
optimization: {
minimize: true,
},
// ・・・
}
ちなみにmodeに何も設定しないと警告が出ました。
めでたく、ES2015 (ES6)のままminifyできました?
その他の設定
minifyには関係ないけど、webpackv4.0.0入れて、自分の設定でエラーになって書き換えたポイント
module.loaders[]はもう使えない様子
これはダメっぽい。
module: {
loaders: [
// ・・・
]
}
こう書きかえると動いた。
module: {
rules: [
// ・・・
]
}