Laravel Mixというかwebpackでconsole.log()が消えないようにする
追記
Laravel Mixとwebpackのどっちが犯人なのか探ってたら、Laravel Mixが犯人であること、さらにじつはもうdrop_console
がデフォルトで無効になっていることに気付いた。
Remove drop_console option · JeffreyWay/laravel-mix@a9d2646 · GitHub
ということでこの記事にはもうなんの意味もない……。
追記終わり。
Laravel Mixが使っているwebpackが使っているUglifyJSにはdrop_console
というオプションがあり、これが有効だとconsole.log()
が消される。
アホなオプションなのでUglifyJSではデフォルトは無効のようだが、Laravel Mixかwebpackか知らんがどちらかでデフォルトで有効になっている。
こんなものはバグの温床でしかないので無効化したい。
以前までは、
mix.options({ uglify: { compress: { drop_console: false } } });
で行けたけど、(多分)uglifyjs-webpack-pluginが1.0になるあたりの変更で仕様が変わって、
mix.options({ uglifyOptions: { compress: { drop_console: false } } });
にしないとエラーになるようになった。
なお以下のようなエラーが出てた。
ValidationError: UglifyJs Plugin Invalid Options options['compress'] is an invalid additional property