运行 node / nodemon 时如何抑制某些警告?

How to supress certain warnings when running node / nodemon?

我正在使用高地。在我的项目中,我已经用 bluebird 替换了原生的 promise 实现。现在,我的应用程序通过向控制台发送垃圾邮件来产生很多警告:

(node:1503) Warning: a promise was created in a handler at usr/src/marketing-tasks/node_modules/highland/lib/index.js:517:24 but was not returned from it, see http://goo gl/rRqMUw
    at new Promise (/usr/src/marketing-tasks/node_modules/bluebird/js/release/promise.js:77:14)

我知道可能存在需要解决的问题,但目前我的流按预期工作。所以现在,每当我通过 nodenodemon 调用我的脚本时,我只想在我的输出中没有这些警告。

如何在 运行 节点时不显示某些警告?

看起来像蓝鸟警告。您应该可以通过以下方式将其关闭:

require('bluebird').config({warnings: {wForgottenReturn: false}});

但在较长的时间 运行 中可能会更好 在导致该警告的实际代码中添加一些内容,因为您可以确定该代码可以正常工作,但稍后您可能会添加其他应该触发警告的内容.

当然,有时您只是知道自己在做什么,并且想关闭警告。

您也可以在这里使用我的 caught 模块 - 它旨在抑制完全不同类型的警告,但也许它也可以在这里使用。

我还创建了 an issue on github 并在那里说明警告是误报,尽管如此,它已得到处理。将 highland 更新到 v2.10.2 也应该是这个问题,而不必完全禁用 bluebird 的警告。


Bluebird warning logging can be modified at different places via environment variables.

有多种方法可以启用它,例如通过:

NODE_ENV='development'

我的开发堆栈就是这种情况。

为了明确停用我设置的警告:

 BLUEBIRD_WARNINGS=0