2

古代网站:

  • 用户通过 bar 或 href 导航到 url,对该特定页面进行服务器调用
  • 返回页面(静态 html 或 ASP.NET MVC 在服务器上呈现的 html 等)
  • 每个页面都会重新加载所有内容,速度慢,有理由去 SPA

角 2 SPA:

  • 用户通过栏或路由器导航到 url
  • 对组件的 html/javascript 进行服务器调用
  • 仅加载路由器插座内的东西,而不是导航栏等(SPA 的主要优势)
  • 但是,html 实际上并没有按原样从服务器接收,Angular 2 代码/标记是 - 然后这个标记在客户端上处理,然后它可以显示为浏览器可以理解的纯 HTML - 慢?进入 Angular 通用?

角通用:

首次使用您的应用程序的用户将立即看到服务器渲染的视图,这极大地提高了感知性能和整体用户体验。

所以,简而言之:

  • 用户通过搜索栏或路由器导航到 url
  • Angular Universal 实际上并没有返回 Angular 组件,而是将这些组件转换为 html,然后将它们发送给客户端。这是唯一的优势。

TLDR:

  1. 我对 Angular Universal 所做的理解是否正确?(上面的最后一个要点)。
  2. 最重要的是,假设我了解它的作用,它是如何实现这一目标的?我的理解是 IIS 或其他仅返回请求的资源,那么 Angular Universal 如何对它们进行预处理(编辑:我基本上会运行类似于返回已处理 html 的 API 的东西)?
  3. 这意味着服务器进行了显示初始视图所需的所有初始 API 调用,例如从路由解析...对吗?

编辑:让我们专注于这种方法来缩小问题范围:

第二种方法是针对每个请求在 Web 服务器上动态重新呈现您的应用程序。这种方法仍然有几个缓存选项可用于提高可伸缩性和性能,但您将在 Angular Universal 的上下文中为每个请求运行应用程序代码。

这里的方法:

第一个选项是预渲染您的应用程序,这意味着您将使用其中一个通用构建工具(即 gulp、grunt、broccoli、webpack 等)在构建时为您的所有路由生成静态 HTML。然后,您可以将该静态 HTML 部署到 CDN。

超出了我的范围。看到那里有一堆动态内容,但我们预加载了静态 html。

4

0 回答 0