結論
のオプション値、drop_console: true
を直接false
に書き換える。
(キャッシュを削除しておくこと)
let options = {
warnings: true,
mangle: {
toplevel: true
},
compress: {
drop_console: true // ←ここ!
}
};
現象
jsファイルを対象に
parcel build hoge.js
すると、
Dropping side-effect-free statement [0:1,0]
という出力とともに、distに出力されるファイルからconsole
系の記述が消える。
入門系の記事ではよくconsole.log('Hello World')
するコードが見受けられる。
確かにエントリーポイントがHTMLならconsole.logは削除されない。
エントリーポイントがjsならモジュール的扱いになって副作用を排除しようとしているのだろうか?
いや、単純に拡張子ごとに
~Asset.js
が別れていて、uglify
を呼び出すのがJSAsset.js
のみだからだろうと予想する。