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

时间:2017-02-06 15:52:58

标签: node.js output warnings bluebird 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调用我的脚本时,我只想在输出中没有这些警告。

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

2 个答案:

答案 0 :(得分:2)

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

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

但是从长远来看,可能会更好地在实际代码中添加一些导致该警告的内容,因为您可以确定该代码可以正常工作,但稍后您可能会添加其他可能触发警告的内容。

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

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

答案 1 :(得分:0)

我还创建了an issue on github并且在那里明确表示该警告是误报,但它已被处理。更新到高地到v2.10.2也应该是问题,而不必完全禁用蓝鸟的警告。

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

有多个可以启用它,例如通过:

NODE_ENV='development'

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

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

 BLUEBIRD_WARNINGS=0