Angular Universal具有动态内容?

Phi*_*hil 5 angular-universal angular

我想将Angular Universal用于两件事:SEO和网站在社交媒体上的预览。我知道静态网站内容是可能的。

但是动态内容呢?如果我希望搜索引擎和社交媒体爬虫不仅找到带有欢迎屏幕的主站点,而且找到像这样的单个博客帖子,该www.example.com/posts?articleName=what-is-angular-universal-good-for怎么办?这里的路由/posts是由PostsComponent处理的,后者订阅了queryParam articleName。因此,它始终呈现从数据库动态获取的文章。

可以在这里应用Angular Universal的服务器端渲染吗?

我看到Universal确实有一个称为TransferState的东西。但这可以用于动态内容吗?我假设如果您每次更新posts-DB时都重建服务器端应用程序,则它应该能够在每个(动态解析的)帖子上运行渲染。例如,这将是服务器端代码的操作列表:

  1. 渲染主站点
  2. 从数据库加载所有可能的博客文章URL的数组
  3. 获取其内容并渲染其中的每一个
  4. 当用户请求博客帖子时,仅提供主站点和该帖子。其他所有其他帖子也已预渲染并可以在服务器上使用,但是除非明确要求,否则不会交付

那么有可能吗?还是我应该停止进一步研究Universal?

nic*_*nli 5

Angular 服务器端将像任何其他服务器端平台一样工作。如果您必须从 url 获取文章,则会呈现该文章的信息,在这方面与 Wordpress 或 Django 网站没有什么不同。

Angular TransferState 只是一种机制,它将您在服务器中收集的所有信息传递到客户端,因此当应用程序在客户端启动时,您不必再次执行某些请求。因此,您可能会做一些 HttpIntercerptor,它会在发出请求之前检查 TransferState,以确保信息尚不存在。

  • prerendeing与ssr不同,ssr就像nodejs从api或数据库提供动态内容,非常像php上的wordpress,只是它是nodejs。然而,预渲染是一种创建动态内容的静态版本的技术,因此服务器上的任何更改都必须重新构建。通用只有ssr。 (3认同)