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

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

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

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

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

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

    最佳答案

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

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

    关于Angular Universal具有动态内容吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49300124/

    10-13 02:21