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

时间:2016-02-22 11:48:48

标签: angular serverside-rendering

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

我对此现象有以下问题。

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

2.它解决了什么问题?

3.它的应用程序是什么?

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

5.支持服务器端呈现的技术是什么?

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

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

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

提前感谢所有人。

3 个答案:

答案 0 :(得分:7)

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

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

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

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

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

5。 / 6。见上文。

答案 1 :(得分:4)

1)服务器端呈现在服务器传送到客户端之前呈现服务器上已存在的视图。这意味着数据绑定表达式之类的东西已经在服务器上解析,并且生成的HTML被传递到客户端,因此浏览器可以立即显示它,而不是首先执行JS。

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

3)见2)

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

5)见2

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

答案 2 :(得分:0)

虽然这个问题已经解决了两次,但是非常漂亮,我只是想为用户添加一些东西。

  • SSR主要解决抽象问题。更快更安全的内容传送到浏览器。

  • 状态\会话管理,用户帐户管理,用于Web服务的密码\令牌,支付网关详细信息是您希望避免放在浏览器\客户端的内容。

  • 解决此问题的主要技术\框架是:MEAN.IO MEAN.JS,express.js,nodes.js,meteor.js

  • 如果你来自.net世界,那么MVC最适合保持一个精心设计的框架。

希望这些变戏更加清晰。

丹科。