首页 > 解决方案 > Uglify JS - 仅删除 console.log

问题描述

Uglify JS在 webpack 插件的用例中,我有一个关于模块的问题。

我的代码库围绕代码有几条console.log语句用于本地调试,它只会在开发模式下打印出来,但它们仍然占用代码库中的空间,我不知道它们在生产构建中是什么,但是,我想保留我的console.error仍然console.warn

我知道Uglify JS有键drop_console标志,但这会杀死所有控制台输出,我仍然希望控制台中出现警告和错误。

这个问题的原因是我有一个自定义错误处理程序而不是将错误发送到 Sentry,并且我想在控制台中读取错误发生时,所以我使用错误和警告控制台输出。

标签: javascriptwebpackuglifyjs

解决方案


来自文档

drop_console(默认值:) false-- 传递true以丢弃对console.*函数的调用。如果您希望删除特定的函数调用,例如console.info和/或在删除函数调用后保留函数参数的副作用,请pure_funcs改用.

...

pure_funcs(默认值:null)- [...] 你可以通过pure_funcs: [ 'Math.floor' ]让它知道这个函数不会产生任何副作用,在这种情况下,整个语句将被丢弃

所以你正在寻找的选项是pure_funcs: [ 'console.log' ]


推荐阅读