弃用警告:由于安全性和可用性问题,Buffer() 已被弃用.请使用 Buffer.alloc(), ..方法代替



我有一个角度项目,最近我使用以下命令向其添加了角度通用:

ng add @nguniversal/express-engine --clientProject {{ name of your project }}

构建并运行它:

npm run build:ssr && npm run serve:ssr

这样做后我遇到了很多错误,但我设法让它工作,但是当我访问我的主页时,它会将以下内容写入控制台:

(node:44714) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
ERROR [Error]
ERROR [Error]

每次我刷新页面时,它都会再次打印ERROR [Error]没有任何详细信息,请注意,我的代码中没有任何new Buffer(),我已经按照堆栈溢出的建议来解决这个问题,但没有运气,有人可以帮助弄清楚是什么原因造成的吗?


我已经通过删除翻译服务解决了ERROR [Error],但仍然有弃用警告

如果您在代码中使用Buffer(),只需将其替换为:

new Buffer(number) // Deprecated 
Buffer.alloc(number) // New

new Buffer(string) // Deprecated 
Buffer.from(string) // New

如果您不在任何地方使用Buffer(),则必须执行以下操作:

1( 搜索

所有应用程序依赖项(您可以使用工具进行搜索,方法是单击当前使用的 IDE 中的搜索图标并键入 Buffer() (

2(无论您在模块或依赖项中找到Buffer(),只需如上所述替换它

我收到同样的警告,它似乎根本没有影响任何事情。我做了查找和替换,但你猜怎么着,我的代码中没有任何内容(无论是在源代码中还是在编译的捆绑包中(与 Buffer(( 匹配,所以我对此非常好奇。我有最新的 LTS 版本的节点 (12.14.1(,但我将 npm 升级到 6.13.6另外,我不得不说,如果部署到我的生产或开发服务器,客户端版本不会产生该输出,它仅在通过iisnode提供SSR版本时发生,我不知道这是否有帮助。

相关内容

最新更新