4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

parcelでconsoleを残しつつビルドする

Posted at

結論

parcel/uglify.js

のオプション値、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のみだからだろうと予想する。

参考

jsファイル中のconsole出力をminify時に削除する - Qiita

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?