開発用にconsole.log
で色々出しておきたいけど、本番では出したくない😑ってときに。
経緯
元はUglifyJsPluginでdrop_console
を指定していたのだけれど、ある時から
Unexpected token: keyword «const» [./node_modules/vuejs-datepicker/dist/vuejs-datepicker.esm.js:600,0]
と怒られるようになってしまった。
UglifyJsがどうやらES6+に非対応らしく、利用しているプラグインのアップデートで怒られるようになったのではと。
exclude
指定とか試したんだけどどうもうまくいかないので、UglifyJsを諦めた\(^o^)/
terserのオプション指定でconsole.logを消す
Nuxt 2.1.0 以降で、terserのオプションを指定できるようになってます!
nuxt.config.js
build: {
terser: {
terserOptions: {
compress: { drop_console: true }
},
},
},
こんな感じで無事console.log削除。
terserもUglifyJSもWebpackで使うミニマイザ(圧縮ツール)ですが、
Nuxtデフォルトのミニマイザはterserです。
この辺りをよく理解せずに、古い記事を参考にしてUglifyJS使っちゃってたのですが、
オプション触れるのであればterserを使った方が良いですね🙌
参考
https://ja.nuxtjs.org/api/configuration-build/#terser
https://github.com/webpack-contrib/terser-webpack-plugin