Node.js nodejs模块有警告消息
有没有办法让我包含的模块引起的警告消息静音 我喜欢这个模块,但每次我调用它们的函数时,控制台都会输出:Node.js nodejs模块有警告消息,node.js,Node.js,有没有办法让我包含的模块引起的警告消息静音 我喜欢这个模块,但每次我调用它们的函数时,控制台都会输出: "Utf8String" type is deprecated, use "CString" instead 我正在制作一个控制台应用程序,因此我更希望看到这条消息。您收到的警告消息实际上来自节点,而不是模块。 但是,该模块在调用以前版本的node中使用的api时发出警告 我认为无论如何都没有必要告诉node超越记录到控制台的警告消息 如果您真的决定消除这些警告,您可以进入模块的源代码并进行
"Utf8String" type is deprecated, use "CString" instead
我正在制作一个控制台应用程序,因此我更希望看到这条消息。您收到的警告消息实际上来自节点,而不是模块。 但是,该模块在调用以前版本的node中使用的api时发出警告 我认为无论如何都没有必要告诉node超越记录到控制台的警告消息 如果您真的决定消除这些警告,您可以进入模块的源代码并进行查找和替换
"Utf8String" to "CString"
我对另一个模块做了完全相同的事情,我也无法忍受这些消息。在这种情况下,我需要的模块需要一个模块,该模块具有自定义代码,使用了
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)
因此,作为一个临时解决方案,我可能会注释掉错误消息,或者作为一个更持久的解决方案,选择一个不同的模块。Ummm您使用的是什么“模块”呢?它有什么不同吗?我正在使用
execSync
。所以。。。如果我升级node(或任何安装我的包的人),那么我可能会通过添加与程序无关的错误消息来中断所有程序。这对我来说似乎是个大问题。我感到惊讶的是,没有办法超越节点警告。你确定吗?是的,当任何一个节点升级时,它的一些api都会被删除或重命名。为了鼓励模块作者切换到新api的节点,尝试提供帮助,并将警告消息记录到控制台。我很确定没有办法让这些消息出人意料,但我不是100%。原来这个警告来自模块,这可能就是为什么它如此不具体的原因!