【问题标题】:angular2 serverside rendering: dynamic contentangular2 服务器端渲染:动态内容
【发布时间】:2017-02-07 21:09:37
【问题描述】:

我经常读到关于服务器端渲染作为 Angular2 的一项很棒的新功能,它可以让 Google、Bing 等网站可以抓取 web 应用程序。

但这对于应用启动时动态加载的内容如何工作?爬虫会在索引页面之前等待那些待处理的请求吗?或者我是否必须指定我的 Angular2 应用程序的某个状态,它告诉服务器我的应用程序已准备好发送到客户端(在这种情况下是爬虫)?

【问题讨论】:

    标签: angular seo google-crawlers angular-universal


    【解决方案1】:

    想法很简单。当 nodejs 执行 Angular 应用程序时,所有初始化,包括数据加载,在服务器端执行。客户端将获得带有初始化数据的 html。对于爬虫可以从服务器请求的任何 URL,Angular 应用程序将被初始化、路由,然后根据应用程序状态呈现 html 并返回给客户端。

    【讨论】:

      【解决方案2】:

      我终于在getting started code内的评论中找到了解决方案:

      [...]
      
      // if true, server will wait for all async to resolve before returning response
      async: true,
      
      [...]
      

      当将此标志设置为 true 时,服务器将在返回呈现的网站之前等待所有异步调用(如 http 调用)。

      【讨论】:

      • 你是如何用 angular2 应用程序运行它的?
      • 嗨@Finkes 你能提供更多关于这方面的见解吗?
      • 文档中究竟是在哪里说的??
      猜你喜欢
      • 1970-01-01
      • 2020-10-17
      • 2022-09-28
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      • 2019-01-14
      • 2017-09-08
      相关资源
      最近更新 更多