我知道 angular2 用于服务器端渲染。所以我想更多地了解它。
我对这种现象有以下疑问。
1.什么是服务端渲染?
2.它解决了什么问题?
3.它的应用是什么?
4.为什么使用服务器端渲染?
5.支持服务端渲染的技术有哪些?
6.在angular2中,服务器端渲染有助于实现哪些目标?
7.客户端和服务器端渲染的主要区别是什么?
8.哪些工具或框架可用于服务器端渲染?
提前感谢大家。
我知道 angular2 用于服务器端渲染。所以我想更多地了解它。
我对这种现象有以下疑问。
1.什么是服务端渲染?
2.它解决了什么问题?
3.它的应用是什么?
4.为什么使用服务器端渲染?
5.支持服务端渲染的技术有哪些?
6.在angular2中,服务器端渲染有助于实现哪些目标?
7.客户端和服务器端渲染的主要区别是什么?
8.哪些工具或框架可用于服务器端渲染?
提前感谢大家。
Angular2 是客户端库,不用于服务器端渲染。然而,有一个项目Angular Universal旨在允许服务器处理 Angular 代码和模板。
1.一般来说,服务器端渲染 /SSR/ 是指使用服务器创建可以被浏览器(或其他客户端)消费的内容。
2.使用单页应用程序 /SPA/,如 Angular2 应用程序,最大的问题之一是初始加载。SPA 必须加载所有供应商和应用程序脚本,(可能从数据库加载内容)处理内容,最后渲染它。这可能需要很多时间,因此您的想法是使用 SSR 创建或“预呈现”初始页面。
3.使用它是因为服务器比客户端快,所以它可以大大提升应用程序的性能。这对搜索引擎机器人也很有帮助——当他们请求没有 SSR 的网站页面时,他们只会看到没有任何内容的空白页面(某些搜索引擎会加载并执行您的脚本)。
4. Angular Universal 在nodejs
服务器上工作。我相信还有一个 PHP 版本,但它非常新鲜(我认为是 alpha 版本......)
5. / 6.见上文。
1)服务器端渲染在交付给客户端之前渲染已经在服务器上的视图。这意味着诸如数据绑定表达式之类的事情已经在服务器上解析,并且生成的 HTML 被传递给客户端,因此它可以立即由浏览器显示,而不是先执行 JS。
2) - 从加载到首次显示的时间更快
- SEO
3) 见 2)
4) - Angular2
- React AFAIK
- 可能还有很多其他人
5) 见 2
6)前者在服务器上呈现,后者在客户端上呈现:p为了能够在客户端上呈现,代码需要浏览器的抽象,服务器代码需要像浏览器一样生成HTML。在 Angular 中,这是通过完全抽象浏览器来完成的(这也使得应用程序更容易在 WebWorker 中运行,因为那里的代码也没有(或只有有限的)对浏览器 API 的访问权限)
尽管这个问题被解决了两次而且很漂亮,但我只是想为仍然使用它的用户添加一些东西。
SSR 主要解决抽象和更快、更安全的内容交付到浏览器。
诸如状态\会话管理、用户帐户管理、用于 Web 服务的密码\令牌、支付网关详细信息之类的东西是您希望避免放在浏览器\客户端上的东西。
解决此问题的主要技术\框架有:MEAN.IO MEAN.JS、express.js、nodes.js、meteor.js
如果您来自 .net 世界,那么 MVC 是保持良好框架的最佳选择。
希望这能更清楚地说明它。
丹克。