因为 Angular Universal Application 不在浏览器中执行,因而服务器上可能短少某些浏览器 API 和性能。
例如,服务器端应用程序不能引用仅供浏览器应用的全局对象,例如 Window,Document,Navigator 和 Location 等对象。
什么是 Angular Universal Application?
Angular Universal 是 Angular 框架的一个性能,它容许在服务器端进行渲染,使得应用程序在客户端和服务器端均可运行。Angular Universal 应用程序能够在浏览器中以传统形式运行,也能够在服务器上进行渲染并返回 HTML,从而进步了应用程序的性能、SEO(搜索引擎优化)和用户体验。
具体来说,Angular Universal 能够让 Angular 应用程序在服务器端事后渲染(行将组件渲染成 HTML),以便浏览器能够更快地出现应用程序。这种预渲染过程能够缩小浏览器须要执行的工作量,从而进步应用程序的性能和用户体验。此外,预渲染也有助于进步 SEO,因为搜索引擎能够更好地了解和索引预渲染的 HTML 内容。
要创立一个 Angular Universal 应用程序,须要将利用程序修改为反对服务器端渲染,并应用一个反对服务器端渲染的 Web 服务器。Angular 提供了一些工具和指南,以帮忙开发人员实现这一点。
Angular 为这些对象提供了一些可注入的形象,例如 Location 或 DOCUMENT;它可能足以代替这些 API。如果 Angular 不提供它,则能够编写新的形象,在浏览器中委托给浏览器 API,在服务器上委托给代替实现(也称为 shimming
)。
同样,如果没有鼠标或键盘事件,服务器端应用程序就不能依赖于用户单击按钮来显示组件。应用程序必须仅依据传入的客户端申请来确定要出现的内容。这是使应用程序可路由 (routable
) 的一个很好的论据。
什么是 Angular 利用的 Routable 个性?
在 Angular 利用中,一个 Routable 个性是指一个组件或模块能够通过路由配置进行导航,即它们能够由 Angular 路由器来治理导航。Routable 个性是指应用程序中的一些组件和模块具备本人的路由门路,并且能够被导航到该门路。
在 Angular 中,Routable 个性能够通过以下形式来实现:
(1) 定义路由:在应用程序中定义路由,以指定如何导航到每个组件和模块。这能够通过在应用程序中的路由配置中进行定义。
(2) 应用路由器:在应用程序中应用 Angular 路由器来解决路由导航。通过应用 routerLink 指令,能够在模板中设置链接,使用户可能在应用程序中导航。
(3) 定义路由参数:通过在路由门路中应用参数,能够定义动静路由,使得组件或模块可能依据参数的不同显示不同的内容。
(4) 应用路由守卫:通过应用路由守卫,能够在导航到某个组件或模块之前或之后执行一些操作,例如身份验证或权限查看等。
Routable 个性是 Angular 利用中十分重要的一个概念,它使得开发人员可能构建具备简单导航和动静内容的应用程序。