我有一个角度项目,最近我使用以下命令向其添加了角度通用:
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()
,则必须执行以下操作:
所有应用程序依赖项(您可以使用工具进行搜索,方法是单击当前使用的 IDE 中的搜索图标并键入 Buffer()
(
2(无论您在模块或依赖项中找到Buffer()
,只需如上所述替换它
我收到同样的警告,它似乎根本没有影响任何事情。我做了查找和替换,但你猜怎么着,我的代码中没有任何内容(无论是在源代码中还是在编译的捆绑包中(与 Buffer(( 匹配,所以我对此非常好奇。我有最新的 LTS 版本的节点 (12.14.1(,但我将 npm 升级到 6.13.6另外,我不得不说,如果部署到我的生产或开发服务器,客户端版本不会产生该输出,它仅在通过iisnode提供SSR版本时发生,我不知道这是否有帮助。