有没有蚂蚁的方式我可以使由我包含的模块引起的警告消息无声?nodejs模块有警告信息
我喜欢的模块,但每次我打电话的功能,控制台输出:
"Utf8String" type is deprecated, use "CString" instead
我想提出一个控制台应用程序,所以宁愿surpress此消息。
有没有蚂蚁的方式我可以使由我包含的模块引起的警告消息无声?nodejs模块有警告信息
我喜欢的模块,但每次我打电话的功能,控制台输出:
"Utf8String" type is deprecated, use "CString" instead
我想提出一个控制台应用程序,所以宁愿surpress此消息。
在这种情况下,我需要一个模块所需的模块,它具有使用Utf8String
并触发错误的自定义代码。
// alias Utf8String
var utfstringwarned = false
Object.defineProperty(types, 'Utf8String', {
enumerable: false
, configurable: true
, get: function() {
if (!utfstringwarned) {
utfstringwarned = true
console.error('"Utf8String" type is deprecated, use "CString" instead')
}
return types.CString
}
})
而且在历史
0.0.20/2012-06-27
===================
- rename the `Utf8String` type to `CString` (#5)
- make `Utf8String` an alias to `CString` and deprecated
- more work on docs (not yet ready)
写了关于它所以,作为一个临时的解决方案,我可能注释掉的错误信息,或者作为一个长期的解决办法,选择不同的模块。
您收到的警告消息实际上来自节点而不是模块。 但是,该模块导致警告,因为它调用了之前版本节点中使用的api。
我不认为有反正告诉节点抑制警告消息记录到控制台。
如果你真的确定要摆脱这些警告,你可以进入模块的源代码并做一个查找和替换。
"Utf8String" to "CString"
我做了另一个模块完全相同的东西,我无法忍受这些消息。
因此......如果我升级节点(或任何安装我的软件包的人),那么我可能会通过添加与程序无关的错误消息来破坏我的所有程序。这对我来说似乎是个大问题。我很惊讶没有办法抑制节点警告。你确定? –
是的,当任何节点升级时,其某些api被删除或重命名。为鼓励模块作者切换到新的api节点,尝试提供帮助,并将警告消息记录到控制台。我很确定没有办法来抑制这些信息,但不是100%。 – saeed
原来这个警告来自模块,这可能是为什么它是非特定的! –
嗯,你在用什么“模块”? – Neal
它有所作为吗?我正在使用'execSync'。 –