Angular 9 特性2024 年 8 月 29 日 | 5 分钟阅读 Angular 9 预览帖子将带您了解 Angular 最新版本的所有功能,该版本即将推出 beta 版本。 Angular 是 Google 用于构建 Web 应用程序、移动或桌面应用程序的 JavaScript (TypeScript) 框架,在 GitHub 上拥有超过 55,000 颗星。Google 的 Angular 团队以及众多社区成员和组织,Angular 版本 9 最近已发布到 beta (RC) 版本。 发布候选版 (RC) 是一个 beta 版本,有潜力成为稳定产品,可以在发现重大 bug 之前发布。在本文中,我们将概述 9 版本中的新功能、更改和更新,这些现在都可以使用了。 剧透警告:Angular 9 目前处于 beta 阶段,Ivy 渲染器不再是可选功能,而是 Angular 的默认渲染引擎。 欢迎默认 Ivy如果您使用过 Angular 8,您会记得 Ivy 渲染器已经可用,但它是可选的。要使用它,您需要转到 tsconfig.json 文件并在其中添加以下行: JavaScript现在,随着 Angular 9 的发布,Ivy 渲染器已成为默认的 Angular 编译器,因此您无需对 tsconfig 文件进行任何新操作即可享受 Ivy。 Angular 核心类型安全更改用于测试 Angular 应用程序的 API 之一称为 TestBed。以前,新版本有一个名为 testbed.get() 的函数,在 8 版本之后它就不再接受字符串值了。这是一个破坏性更改,团队决定在新版本中回滚它,因为它是一个非常显著的破坏性更改。为了解决安全问题,团队提出了一个名为 testbed.inject() 的解决方案,并删除了 get 函数。 JavaScript现在 TestBed API 已得到改进,inject 函数的功能与 get 函数相同,同时又具有类型安全性。 ModuleWithProviders 支持这主要面向库所有者。如果您在 Angular 9 之前使用过 ModuleWithProviders,您可能没有或正在以强类型的方式使用它。然而,在这个版本中,您必须始终使用泛型 ModuleWithProvider<T> 类型来显示您的模块类型。您的声明可能如下所示: JavaScript 更新到版本 9 后,您的代码库将自动迁移。这同样适用于所有迁移原理图,一旦您使用以下命令进行更新: 您的所有代码都将与最新更改同步。 Angular 表单的更改这个新的 Angular 版本有一些您应该了解的表单更改。首先,<ngForm></ngForm> 不再是引用 Angular 表单时可以使用的有效选择器。您可以使用 <ng-form></ng-form> 代替。此外,已删除使用已弃用的 form 标签的警告。其次,FormsModule.withConfig 已被弃用,您现在可以直接使用 FormsModule。 核心中的依赖注入更改对于依赖注入,新版本的 Angular 也带来了一些小改进。这不是一个大的变化,但对依赖注入的给定值部分增加了一些支持。 平台和 any 范围已添加到 providedIn 属性的值库中。 语言服务增强通过这个新版本,VS Code 和 WebStorm 等集成开发环境的语言服务支持得到了进一步改进。链接定义将变得更加一致,甚至样式 URL 定义现在也将被测试为模板 URL。即使是指向实际项目文件之外的 URL,现在也会被诊断。 此外,TypeScriptHost 等诊断改进现在将通过 debug 方法和 errors 区分日志记录的严重性。此新版本中现在添加了一个便利脚本,用于帮助构建和测试脚本。 Service Worker 更新在这个新版本中,service worker 资产组配置中已弃用的版本化文件选项已从 service worker 中移除。这意味着您的 ngsw-config.json 文件看起来像这样: JSON现在看起来会像这样: JSON i18n 改进Angular 作为一种 JavaScript 框架,长期以来一直支持国际化。通过 Angular CLI,您可以生成标准代码,帮助您创建翻译文件,以便以多种语言发布您的应用程序。Angular 团队进一步重构了 Ivy 中的此过程,以使其更容易添加编译时内联。 API Extractor 更新Angular 是一个整体框架,因此依赖许多其他服务和库才能有效运行。但是,维护所有这些库、服务、产品和新功能的更新存在问题。在这个新版本的 Angular 中,这些库将被跟踪,API Extractor 将更新到最新版本,它将能够跟踪这些库的 API 景观,生成报告并检测每次可能出现的缺失更新或新功能。使用制造时的挡板。并以一种易于与您沟通的方式记录下来。这样可以更轻松地处理维护并保持一切最新。 Angular 组件更新对于 CDK,有一个关于 Hammer.js 的更新,它有助于添加手势支持,如果您想使用 CDK,这是必需的。现在它是可选的。您可以使用此命令选择性地导入它: JavaScript此新版本附带的剪贴板模块也属于 CDK 系列。一个新的 Google Maps 程序包终于在这个新的 Angular 版本中可用,称为 @angular/google-maps 程序包。 从 Angular 9 开始,任何组件都不能通过 @angular/material 导入。您必须使用单独的二级入口点,例如 @angular/material/button。 更新到 Angular 版本 9有关更新到最新 Angular 版本的分步说明,请使用 update.angular.io 上的交互式更新指南。 更新 CLI 应用如果您的应用程序使用 CLI,您可以通过 ng update 脚本自动更新到 9 版本: 结论这是对 Angular 最新 beta 版本大多数功能和更新的快速分析。您应该尝试一下,并报告您在项目中发现的任何 bug 或问题,以便进行更改。 |
我们请求您订阅我们的新闻通讯以获取最新更新。