angular - 有没有办法为同一个 Angular 应用程序结合 CSR 和 SSR?
问题描述
我的团队正在寻求构建类似Medium克隆的东西。用户创建的帖子预计不会有太大变化,因此SSR/SSG
似乎是一个不错的选择,特别是如果有一些可用的增量构建功能。但是,帖子上的“赞成”之类的内容可能会非常频繁地变化,因此我们不确定如何适应这种情况。
此外,应用程序的一部分将超出登录范围,例如仪表板或创建新帖子的编辑器......等,不需要 SEO,所以我们正在考虑是否可以通过 CSR 来完成,而其他部分保持SSG或SSR。
这样的组合可以用 Angular Universal 完成吗?到目前为止,我们一直在制作 CSR Angular SPA-s,如果问题有点愚蠢,我们深表歉意:(
解决方案
SSR 并不意味着缓存。这意味着当您登陆页面时,内容将从服务器动态生成。结果页面将包含组件的 html,而不仅仅是带有 CSR 的 index.html 的正常内容。所以你最终会得到一个更快的页面显示,以及一个可以被搜索引擎读取的页面。
一旦页面被渲染并且所有的 js 被解析,客户端的 Angular 应用就会接管。客户端应用程序将再次调用 API(除非您使用 TransferState),并再次渲染组件。
也许您对服务器端预渲染感到困惑,其中可以为某些路由预生成 html 页面。这比普通 SSR 快,但数据可能不是最新的。无论如何,加载页面后,角度客户端应用程序将接管。
推荐阅读
- nest-device-access - Google Nest 摄像头访问权限
- php - 使用按钮单击另一个 vue 组件或 html 按钮单击在不同页面中获取 vue 组件
- kubernetes - Kubernetes 列出所有未运行的容器
- lua - Lua:在两个字符串之间查找字符串
- javascript - MUI Tab-组件属性到 Tab 渲染但抛出异常
- java - SQL 语句中的错误:NoClassDefFoundError: com/macasaet/fernet/Validator
- javascript - 使用 JavaScript 在栏外单击时如何关闭侧边栏
- perl - 在 Solaris 11 中安装 DBI Perl 模块时出现问题
- audio - Alexa是如何编程唱歌的?
- java - 如何从 recyclerview 创建音频前台通知。任何班级