下記をwebpack.mix.jsに追記すると、production用 (NODE_ENV=production
) にビルドするだけでpure_funcs
で指定しているconsole.debug
とconsole.log
を削除してくれる。
if (mix.inProduction()) {
mix.options({
terser: {
terserOptions: {
compress: {
// Drop these function calls. Keep console.error and etc.
pure_funcs: [
'console.debug',
'console.log'
]
}
}
}
});
}
上記設定だと、console.wanr
とconsole.error
は削除されずに残る。
console.*
をすべて削除したい場合はpure_funcs
を使う代わりに下記でOK。
if (mix.inProduction()) {
mix.options({
terser: {
terserOptions: {
compress: {
drop_console: true // This drops all console.* calls
}
}
}
});
}
Laravel Mix 5.0.9で確認。
参考: https://github.com/webpack-contrib/terser-webpack-plugin/issues/57