由于Angular通用应用程序不在浏览器中执行,因此服务器上可能缺少一些浏览器API和功能。例如,服务器端应用程序不能引用仅供浏览器使用的全局对象,例如Window、Document、Navigator和Location对象。什么是Angular通用应用程序?AngularUniversal是Angular框架的一个特性,它允许服务器端渲染,使应用程序同时运行在客户端和服务器端。AngularUniversal应用程序可以传统地在浏览器中运行,或者在服务器上呈现并返回HTML,从而提高应用程序性能、SEO(搜索引擎优化)和用户体验。具体来说,AngularUniversal使Angular应用程序能够在服务器端进行预渲染(即将组件渲染成HTML),以便浏览器可以更快地渲染应用程序。这种预渲染过程可以减少浏览器需要执行的工作量,从而提高应用程序的性能和用户体验。此外,预呈现还有助于改进SEO,因为搜索引擎可以更好地理解和索引预呈现的HTML内容。要创建AngularUniversal应用程序,您需要修改应用程序以支持服务器端渲染并使用支持服务器端渲染的Web服务器。Angular提供了一些工具和指南来帮助开发人员实现这一目标。Angular为这些对象提供了一些可注入的抽象,例如Location或DOCUMENT;替换这些API可能就足够了。如果Angular不提供它,您可以编写新的抽象,委托给浏览器中的浏览器API,并委托给服务器上的替代实现(也称为shimming)。同样,服务器端应用程序不能依赖于用户单击按钮来显示没有鼠标或键盘事件的组件。应用程序必须仅根据传入的客户端请求来确定要呈现的内容。这是使应用程序可路由的一个很好的论据。Angular应用程序的可路由特性是什么?在Angular应用程序中,可路由特性意味着组件或模块可以通过路由配置进行导航,即它们可以由Angular路由器进行导航。可路由特性意味着应用程序中的某些组件和模块具有自己的路由路径,并且可以导航到该路径。在Angular中,Routable特性可以通过以下方式实现:(1)定义路由:在应用程序中定义路由,指定如何导航到各个组件和模块。这可以在应用程序的路由配置中定义。(2)使用路由器:在你的应用程序中使用Angular路由器来处理路由导航。通过使用routerLink指令,可以在模板中设置链接,使用户能够在应用程序中导航。(3)定义路由参数:通过在路由路径中使用参数,可以定义动态路由,使得组件或模块可以根据不同的参数显示不同的内容。(4)使用路由守卫:通过使用路由守卫,可以在导航到某个组件或模块之前或之后执行一些操作,例如身份验证或权限检查。Routable特性是Angular应用程序中一个非常重要的概念,它使开发人员能够构建具有复杂导航和动态内容的应用程序。
