我正在使用mssql@3.3.0
和Node.js运行Express API。
使用了mssql
的旧版本来解决我们遇到的其他兼容性问题。
但是,当尝试使用Promise将请求链接在一起时,出现以下错误:
DeprecationWarning:由于安全性和可用性问题,不建议使用Buffer()。请改用Buffer.alloc(),Buffer.allocUnsafe()或Buffer.from()方法。
如何禁用此警告并使用IISNode / Express在“不安全”模式下运行代码?
答案 0 :(得分:1)
我遇到了同样的问题,这是我解决的方法。
首先,根据this question的建议,我将以下代码添加到我的 web.config 文件中(作为 system.webServer 的子代):< / p>
<iisnode nodeProcessCommandLine='"C:\Program Files\nodejs\node.exe" --no-warnings' />
这样做是为了避免将所有警告发送给 stderr 。 我只想禁止Buffer()弃用警告。
This article解释说,即使使用了 no-warnings 标志,“ Node.js进程对象也将发出 warning 事件”。因此,然后将以下代码添加到我的 server.js 文件中:
process.on('warning', (warning) => {
if (!warning.message.includes("Buffer() is deprecated")) {
console.error(warning);
}
});
现在,只有Buffer()弃用警告被忽略。