Angular Universal用于动态内容?

时间:2018-03-15 12:59:35

标签: angular angular-universal

我想将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. Prerender主网站
  2. 从数据库中加载所有可能的博客文章网址数组
  3. 获取他们的内容并预呈现他们中的每一个
  4. 当用户请求博客帖子时,仅提供主站点和该帖子。所有其他帖子都是预呈现的,并且也可以在服务器上使用,但除非明确要求,否则不会发送
  5. 那么可能还是应该停止进一步研究环球?

1 个答案:

答案 0 :(得分:3)

Angular Server端将像任何其他服务器端平台一样工作。如果你必须从url获取文章将呈现该文章的信息,那就与Wordpress或Django网站没有区别。

Angular TransferState只是一种机制,可以将您在服务器中收集的所有信息传递给客户端,这样您就不必在客户端启动应用程序时再次执行某些请求。所以你可能会做一些HttpIntercerptor,它会在做一个请求之前检查TransferState,以确保信息还没有。