Angular 通用 - 标题在查看源代码中看不到,但在检查期间可以看到

Angular Universal - Title is not seen in View Source but can be seen during Inspect

我有 Angular 7 个使用 Angular Universal 进行服务器端渲染的应用程序。 (主要是跟着教程https://blog.angular-university.io/angular-universal/

目前代码已部署并 运行 在 nodejs 上(4000 - 使用 apache2 服务器的反向代理,以便我可以使用端口 80 - 提到这个以防万一)。

在我的组件中(我所有的组件都是深度嵌套的),我使用的代码如下

....
constructor(private title: Title){}
....

ngOnInit() {
   this.title.setTitle('my title')
}

请检查 (http://public.ecokrypt.com)。如果我点击 'Dashboard',我会在我的浏览器中看到标题发生了变化。我还看到带有 'Inspect' 的新标题。但是如果我尝试 'View Source' 它不会显示新标题。它总是向我显示第一个默认页面的数据(登录 => 标题 'User')。请注意,我的 index.html 包含 'EcokryptUiapp' 作为标题,我的第一个默认登录页面包含 'User' 作为标题。所以第一次它确实从服务器呈现。

似乎在我的第一页之后,我再也没有得到任何服务器端呈现。同样的问题是 facebook/twitter 元标记作为 well.Due 对此,如果我尝试调试 facebook link / 验证 twitter 卡,它会给我错误。

我也在我的本地开发环境上验证过,查看源代码总是给我第一页,内容永远不会改变。

我是否遗漏了任何步骤?在过去的三天里,我一直坚持这个问题,只是找不到任何解决方案。非常感谢任何帮助。

经过多次试错,我找到了问题所在。在我的代码深处的某些地方,我正在使用 windows 位置,并且由于相同原因在服务器端出现错误。因此,在第一个默认页面之后,服务器没有呈现任何内容。一切都只在浏览器端进行评估。

希望有人会觉得这有用。