【发布时间】:2019-11-25 13:37:49
【问题描述】:
我有一个 angular 项目,最近我使用以下命令向它添加了 angular-universal:
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(),我已经按照堆栈溢出的建议解决了这个问题,但没有运气好,有人能帮忙弄清楚是什么原因造成的吗?
我已经通过删除 TranslateService 解决了 ERROR [Error],但仍然有 deprecationWarning
【问题讨论】:
-
尝试在运行
server.js文件时将--trace-warnings或--trace-deprecation选项传递给nodejs(你需要修改serve:ssr脚本)。这应该可以帮助您确定哪些软件包会导致问题 -
@David 我没有 serve:ssr 脚本,我所做的只是 yarn run serve:ssr ,我尝试像 yarn run serve:ssr ----trace-warnings 和 yarn run 一样运行它 - -trace-warnings serve:ssr 但没有任何变化,控制台上也没有打印任何内容,你能建议如何运行跟踪吗?
-
serve:ssr通常是在package.json中定义的脚本。把选项传给yarn没用,需要传给nodejs -
@David 谢谢它现在工作我有一个由 server.js 引起的异常
-
@MadhavanSundararaj 检查上面的 cmets 并尝试调试异常,如果你有一份我可能可以提供帮助