如何从节点模块中删除/禁用 console.log()

How to remove / disable console.log() from a node module

我正在将代码推送到生产环境,该代码使用一个包,每次我调用它的一个特定函数时都会调用 console.log()。

此函数在我的代码中被同时调用数千次,我不希望日志记录减慢执行时间或使日志混乱。

在本地,我进入了节点模块并注销注销,但是生产是自动部署的,只是在 运行 之前运行 npm install。

有没有办法让我注释掉生产中的线路,使其不会在每次自动部署时都返回,或者有办法禁止模块中的控制台日志?

console.log本身可以用空函数覆盖。

// backup just in case you need it later somewhere
var oldConsoleLog = window.console.log;
window.console.log = () => {};

但是,建议对麻烦的软件包进行一些调查,大多数软件包仅在其开发版本中登录,也许您应该使用该软件包的生产版本。

此外,还有一些 babel/webpack 插件可以为您删除控制台语句。例如 babel-plugin-transform-remove-console

您可以尝试重新定义console.log函数,在开头写console.log = function() {}