什么是使用angular2的服务器端渲染?

Bhu*_*kar 8 server-side-rendering angular

我知道angular2用于服务器端渲染.所以我想了解更多相关信息.

我对这个现象有以下问题.

1.什么是服务器端渲染?

它解决了什么问题?

它的应用是什么?

4.为什么使用服务器端渲染?

5.支持服务器端渲染的技术是什么?

6.in angular2,服务器端渲染有助于实现什么目标?

7.客户端和服务器端渲染之间的主要区别是什么?

8.哪些工具或框架可用于服务器端渲染?

感谢所有提前.

Sas*_*sxa 7

Angular2是客户端库,它不用于服务器端呈现.然而,有一个项目Angular Universal旨在允许服务器处理角度代码和模板.

1.通常,服务器端呈现/ SSR /是指使用服务器创建可由浏览器(或其他客户端)使用的内容.

2.对于单页应用程序/ SPA /,与Angular2应用程序一样,其中一个重要问题是初始加载.SPA必须加载所有供应商和应用程序脚本(可能从数据库加载内容)处理内容,最后呈现它.这可能需要花费很多时间,因此您的想法是使用SSR创建或"预呈现"初始页面.

3.它被使用是因为服务器比客户端更快,因此它可以大大提高应用程序的性能.此外,它对搜索引擎机器人很有帮助 - 当他们在没有SSR的情况下请求您的网站页面时,他们只会看到没有任何内容的空白页面(某些搜索引擎会加载并执行您的脚本).

4. Angular Universal适用于nodejs服务器.我相信还有一个适用于PHP的版本,但它非常新鲜(我认为在alpha中)

5./6.见上文.


Gün*_*uer 4

1) 服务器端渲染在将视图传递到客户端之前渲染服务器上已有的视图。这意味着数据绑定表达式之类的事情已经在服务器上解析,并且生成的 HTML 被传递到客户端,以便浏览器可以立即显示它,而不是首先执行 JS。

2) - 从加载到首次显示的更快时间
- SEO

3) 参见2)

4) - Angular2
- React AFAIK
- 可能还有很多其他

5) 见2

6) 前者在服务器上呈现,后者在客户端上呈现:p 为了能够在客户端上呈现,代码需要对浏览器进行抽象,并且服务器代码需要像浏览器一样生成 HTML。在 Angular 中,这是通过完全抽象浏览器来完成的(这也使得应用程序在 WebWorker 中运行变得更容易,因为代码也没有(或仅有有限的)访问浏览器 API 的权限)