Angular 角度渲染是客户端还是服务器端?

Angular 角度渲染是客户端还是服务器端?,angular,Angular,我曾认为Angular框架是在客户端呈现的,但在阅读了本文之后,我不知道Angular应用程序的哪一部分是在服务器端呈现的。我进行了搜索和阅读,但我无法找到Angular应用程序是何时通过某些web服务器(如Nginx)构建和服务的,在服务器端是如何呈现的?Angular可以使用node.js在服务器端呈现,与任何js框架一样。必须使用Angular Universal在服务器端进行渲染。但通常在客户端进行角度渲染。两种方法都可以 正常角度应用程序在浏览器中执行,根据用户操作在DOM中呈现页面A

我曾认为Angular框架是在客户端呈现的,但在阅读了本文之后,我不知道Angular应用程序的哪一部分是在服务器端呈现的。我进行了搜索和阅读,但我无法找到Angular应用程序是何时通过某些web服务器(如Nginx)构建和服务的,在服务器端是如何呈现的?

Angular可以使用node.js在服务器端呈现,与任何js框架一样。必须使用Angular Universal在服务器端进行渲染。但通常在客户端进行角度渲染。两种方法都可以

正常角度应用程序在浏览器中执行,根据用户操作在DOM中呈现页面Angular Universal在服务器上执行,生成静态应用程序页面,稍后在客户端上启动。这意味着应用程序的渲染速度通常更快,使用户有机会在应用程序完全交互之前查看应用程序布局

它可以以两种方式呈现

  • SSR:服务器端呈现-在服务器上将客户端或通用应用程序呈现为HTML
  • CSR:客户端渲染-在浏览器中渲染应用程序,通常使用DOM

  • 您引用的文章是关于AngularJS(),不要与AngularJS()混淆。AngularJS指的是版本
    1.x
    ,而AngularJS指的是版本
    2.x
    及以后的版本。你可以把它们看作两个完全不同的框架。 Angular是一个客户端框架,但是使用Angular Universal()等工具,您可以在服务器上预渲染它

    您提到的文章中使用的术语“渲染”非常容易引起误解。您需要区分编译JavaScript/Typescript/JSX的“构建”阶段和创建和修改DOM中节点的“真实”呈现阶段

    构建阶段可能在服务器上、CI服务器上,甚至在本地(例如,运行
    ng build
    )。然后,这些工件通常部署在某个http服务器上,并在那里提供服务。然后在浏览器中呈现应用程序。在执行JavaScript并创建/修改DOM节点的意义上进行渲染

    有些框架(如Angular)也支持在服务器上进行预渲染。这意味着,初始DOM作为HTML而不是JavaScript提供,以缩短启动时间。在这个初始命令之后,其他所有操作都会再次在浏览器中完成


    顺便说一句,提到的AngularJS没有任何构建阶段。

    为什么Angular doc说“一个普通的Angular应用程序在浏览器中执行,根据用户的操作在DOM中呈现页面。Angular Universal在服务器上执行,生成静态应用程序页面,然后在客户端上引导。”?你知道得很深吗?您认为npm运行的命令服务于什么:ssr?它的简单运行node.js服务器用于Angular Universe。您可以在中阅读更多内容。感谢您的回复,在文章的第一个图表中,作者将Anularjs视为客户端,而将Anularjs视为服务器端渲染。这是不正确的。默认情况下,不会在服务器端渲染角度。如果你使用像angular Universal这样的工具,你应该检查官方文档,所有内容都被清楚地提到。做一些研究,然后在
    SO
    中提出一个问题。我阅读并发现Angular不是服务器端,Angular universal是。但在参考文章中,作者说Angular和react一样是服务器端。我想我可能错过了什么。网络爬虫将无法看到一个内置于Angular?的网站的内容,这取决于@NimishDavidMathew。Web爬虫过去仅用于获取和评估HTML,但像Google Crawler这样的现代爬虫能够评估JavaScript应用程序,从而找到由JavaScript创建的内容。不过,目前JavaScript应用程序的爬行速度仍有一定的损失。看见