去年、【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: [
// ・・・
]
}