首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DeprecationWarning:由于安全性和可用性问题,Buffer()已弃用。请使用Buffer.alloc(),...方法来代替

DeprecationWarning:由于安全性和可用性问题,Buffer()已弃用。请使用Buffer.alloc(),...方法来代替
EN

Stack Overflow用户
提问于 2019-07-17 02:44:45
回答 2查看 28.9K关注 0票数 19

我有一个angular项目,最近我使用以下命令添加了angular-universal:

代码语言:javascript
复制
ng add @nguniversal/express-engine --clientProject {{ name of your project }}

构建并运行它:

代码语言:javascript
复制
npm run build:ssr && npm run serve:ssr

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

代码语言:javascript
复制
(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(),并且我遵循了堆栈溢出的建议来解决这个问题,但没有成功,有人能帮我找出导致这个问题的原因吗?

我已经通过移除TranslateService解决了ERROR [Error]问题,但仍然保留了deprecationWarning

EN

回答 2

Stack Overflow用户

发布于 2019-07-17 03:31:24

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

代码语言:javascript
复制
new Buffer(number) // Deprecated 
Buffer.alloc(number) // New

代码语言:javascript
复制
new Buffer(string) // Deprecated 
Buffer.from(string) // New

如果您正在使用Buffer() anywhere进行而不是,则必须执行以下操作:

1)搜索您的所有应用程序依赖项(您可以通过单击当前使用的集成开发环境中的搜索图标并键入Buffer()来使用工具进行搜索)

2)只要在模块或依赖项中找到Buffer(),就像上面提到的那样替换它

票数 28
EN

Stack Overflow用户

发布于 2020-01-13 04:48:05

我得到了同样的警告,它似乎一点也不影响任何东西。我做了find & replace,但是猜猜发生了什么,我的代码(无论是源代码还是编译包)中都没有匹配Buffer()的东西,所以我对它很好奇。我有最新的node LTS版本(12.14.1),但我将npm升级到了6.13.6,而且我必须说,如果部署到我的生产或开发服务器上,客户端版本不会产生该输出,只有通过iisnode提供SSR版本时才会发生这种情况,我不知道这是否有帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57063659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档