我有一个 Angular 6 应用程序,它在本地开发环境和生产机器上都运行良好。数据通过 API 提供给应用程序。应用程序通过使用可观察、解析和承诺技术很好地显示数据。
我出于 SEO 目的制作了应用程序的通用版本(服务器端渲染或 SSR),效果也很好。
我只有一个问题;
当我将应用程序发布到生产环境时,它会很好地显示来自 API 的内容,但是当我在浏览器上查看“页面源”时,我无法看到在页。
请注意,我的数据来自“Route Resolve”,这不是异步/等待问题的情况。
提前谢谢您。
很抱歉回复晚了,因为这是去年的问题,而且因为我弄清楚了问题是什么,所以我再也没有看过这个问题。我尝试在这里尽可能多地解释。
数据通过 AWS API 网关传输,该网关通过凭证和密钥连接到应用程序。数据在页面上显示得很好,但当我查看页面源代码时却不然。我以为 API 有问题,但花了几天时间弄清楚后,我发现 API 接收到的数据很好。
我刚刚在 Chrome 页面上使用了“检查”(右键单击并检查),并查看了“控制台”选项卡,发现应用程序中的许多方法抛出了错误。当我调查错误时,我发现有大量与我从 API 获取的数据类型相关的数据类型不匹配。
因此,问题出在应用程序而不是 API。像这样的愚蠢问题花了我将近一周的时间才解决。我希望这能为您带来一些启发。
我也遇到了类似的问题,测试了很多解决方案,解决方案很简单。当访问 API 时,我使用的是路径“/api”,我将其更改为绝对路径,例如“https://example.com/api”或“http://localhost/api”,这解决了问题。从 API 获取的数据显示在浏览器的“查看源”中,可供搜索引擎机器人访问。