何时不使用服务器端渲染 - Angular 通用

When not to use Server Side rendering - Angular Universal

通过几个教程和angular official documentation,我了解了 SSR 的一些好处,例如:

  1. 通过搜索引擎优化 (SEO) 为网络爬虫提供便利
  2. 提高移动设备和低功率设备的性能
  3. 使用 first-contentful paint (FCP) 快速显示首页

它提高了性能,我们甚至可以通过在 server.ts 文件

中使用以下代码进一步压缩来压缩 mainxxxxx.js 文件和其他内容
app.use(compression());

但我也担心我们不应该引入SSR的用例

我能想到的一个是 不必要地使 angular 项目复杂化,除非需要,因为它使用 express 和它自己的服务器实现。

我们应该注意哪些取舍?

我发现 angular universal 有点困难的是为需要登录的路由实现它。因此,如果您担心复杂性,则可能希望将这部分省略。

您还必须小心您使用的第三方库,因为如果它们尝试访问全局浏览器变量(windowdocument,...) 和特征 (canvas,...)

使用 angular universal 时还需要考虑一件事:您的网络服务器将需要更多 RAM 和 CPU。如果您的网站产生大量流量,但您的网络服务器在 RAM/CPU 内受到限制,您最终会加载更长的页面。

关于压缩的注意事项:你不需要 angular 通用来压缩你的 js 文件,你可以使用常规的网络服务器(express、nginx、apache、iis...)