Angular 通用和外部 API

Angular Universal and external apis

搜索 angular universal 很多天后,我发现缺少关于 ServerSideRendering 实际工作原理的信息.
让我来指导您解决我的疑虑,并帮助我澄清一些模糊的地方。

有很多指南告诉您如何设置 SSR 需要注意什么,例如不访问 DOM 或不使用 jquery。
None 其中真正展示了 angular 通用在幕后的实际工作方式,尤其是当您访问外部 api.

我希望普通的 SSR 应用程序仅 运行 在服务器上创建一些 html 然后加载 html 直到客户端下载 javascript代码.
但是如果使用 外部 api 会发生什么?(这是一种非常常见的情况)。
我们应用程序的服务器版本是否进行真实调用,从 api 获取真实数据,以使用 html 进行渲染?或者发生其他事情?

另外,在通过 路由解析器 调用的外部 api 的情况下。在这种情况下,SSR 可能吗?这意味着我们的应用程序必须等待 api 响应。

当使用 angular universal 时,SSR 进程实际上会生成 html 供浏览器下载,其中包含一些内联 css 以便快速呈现页面。之后,浏览器将为您的 angular 应用程序下载 JS 文件,此时会发生一个转换,之后 client-side JS 应用程序开始控制。

您可以使用外部 APIs。如果您在 angular 代码中调用了 API(例如,在组件初始化上),那么该调用将在服务器端执行;这意味着 angular universal 将等待该调用完成,以便它可以使用检索到的数据生成页面的 html

还要确保正在调用相同的 API。

这是不同的路线:

  1. api/
  2. api