我有一个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)。如果我点击“仪表板”,我确实会在浏览器上看到标题已更改。我也看到了新的标题‘检查’。但是如果我尝试“查看源代码”,它不会显示新的标题。它总是显示来自我的第一个默认页面的数据(登录=>标题为'User')。请注意,我的index.html包含'EcokryptUiapp‘作为标题,我的第一个默认登录页面包含'User’作为标题。所以它第一次从服务器上渲染。
似乎在我的第一个页面之后,我从来没有得到任何服务器端的渲染。同样的问题也存在于facebook/twitter的meta标签well.Due中,如果我尝试调试facebook链接/验证twitter卡,它会给出错误。
我也在我的本地开发环境中进行了验证,查看源代码总是给我第一个页面,内容永远不会改变。
我有没有漏掉什么步骤?我被困在这个问题上3天了,就是找不到任何解决方案。任何帮助都是非常感谢的。
发布于 2019-01-16 09:19:19
在多次试验错误之后,我发现了问题所在。在我代码内部的某些地方,我使用的是windows位置,但由于同样的原因,在服务器端遇到了错误。因此,在第一个默认页面之后,服务器不会呈现任何内容。所有的东西都只在浏览器端进行评估。
希望有人会觉得这篇文章有帮助。
https://stackoverflow.com/questions/54116941
复制相似问题