1

我经常读到服务器端渲染是 Angular2 的一个很棒的新特性,它可以让谷歌、必应等网站可以抓取 web 应用程序。

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

4

2 回答 2

0

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

于 2017-02-08T17:18:52.697 回答
-3

我终于在入门代码中的评论中找到了解决方案:

[...]

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

[...]

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

于 2017-02-19T11:51:57.977 回答