javascript - Uglify JS - 仅删除 console.log
问题描述
Uglify JS
在 webpack 插件的用例中,我有一个关于模块的问题。
我的代码库围绕代码有几条console.log
语句用于本地调试,它只会在开发模式下打印出来,但它们仍然占用代码库中的空间,我不知道它们在生产构建中是什么,但是,我想保留我的console.error
仍然console.warn
。
我知道Uglify JS
有键drop_console
标志,但这会杀死所有控制台输出,我仍然希望控制台中出现警告和错误。
这个问题的原因是我有一个自定义错误处理程序而不是将错误发送到 Sentry,并且我想在控制台中读取错误发生时,所以我使用错误和警告控制台输出。
解决方案
来自文档:
drop_console
(默认值:)false
-- 传递true
以丢弃对console.*
函数的调用。如果您希望删除特定的函数调用,例如console.info
和/或在删除函数调用后保留函数参数的副作用,请pure_funcs
改用....
pure_funcs
(默认值:null
)- [...] 你可以通过pure_funcs: [ 'Math.floor' ]
让它知道这个函数不会产生任何副作用,在这种情况下,整个语句将被丢弃。
所以你正在寻找的选项是pure_funcs: [ 'console.log' ]
推荐阅读
- c++ - 在 Visual Studio Code 中调试 SFML 代码时出错
- python - 创建类实例时遇到问题
- python - 无法更改 Kivy 中按钮的颜色
- typo3 - 获取TYPO3 10中前端用户的IP
- sql - 使用 MaxDate 列出值
- java - 在 Java 流之间共享/重用公共操作序列的最佳方式
- r - 如何在R中将日期转换为“试用号”?
- reactjs - 使用 react "runtime": "automatic" with flow
- python - 如何从具有数组元素组合的列表字典创建列表
- python - 为什么 np.linalg.norm(..., axis=1) 比写出向量范数的公式慢?