我以为Angular框架是在客户端呈现的,但是在阅读this文章之后,我无法意识到Angular应用程序的女巫部分是在服务器端呈现的。我进行了搜索和阅读,但是无法确定何时构建Angular应用程序并通过Nginx等Web服务器提供服务,服务器端的呈现方式如何?
答案 0 :(得分:1)
普通的Angular应用程序在浏览器中执行,以响应用户的操作在DOM中呈现页面。 Angular Universal 在服务器上执行,生成静态应用程序页面,这些页面随后在客户端上启动。这意味着应用程序通常可以更快地渲染,从而使用户有机会在应用程序变得完全交互式之前查看其布局。
它可以两种方式呈现。
答案 1 :(得分:1)
“ Rendering”一词在您提到的文章中被误导使用。您需要区分“构建”阶段和“真实”渲染阶段,在“构建”阶段对JavaScript / Typescript / JSX进行编译,在“真实”渲染阶段对DOM中的节点进行创建和修改。
构建阶段可能在服务器上,在CI服务器上,甚至在本地(例如,运行ng build
)。然后,通常将这些工件部署在提供它们的某些http Server上。然后在浏览器中呈现该应用程序。在执行JavaScript并创建/修改DOM节点的意义上进行渲染。
某些框架(例如Angular)也支持服务器上的预渲染。这意味着,初始DOM用作HTML而不是JavaScript,以缩短启动时间。初始Prendering之后,其他所有操作将再次在浏览器中完成。
顺便说一句,提到的AngularJS没有任何构建阶段。
答案 2 :(得分:0)
您引用的文章是关于AngularJS(https://angularjs.org/)的,不要与Angular(https://angular.io/)混淆。 AngularJS引用版本1.x
,而Angular则来自版本2.x
及更高版本。您可以将它们视为两个完全不同的框架。
Angular是一个客户端框架,但是使用诸如Angular Universal(https://angular.io/guide/universal)之类的工具,您可以在服务器上对其进行预渲染
答案 3 :(得分:-5)
Angular使用node.js在服务器端进行渲染,与任何JS框架相同。