您应该了解的关于 Angular 9 的所有信息17 Mar 2025 | 6 分钟阅读 Angular 9.0.0 的主要版本现已发布。它于 2020 年 2 月 6 日发布。这个主要版本影响了整个平台,包括框架、组件、Angular Material 和 CLI。 Angular 9 在许多方面与其之前的版本不同。 它默认将所有应用程序迁移到使用 Ivy 编译器和运行时,并引入了许多改进的组件测试方法。 Angular 9 现在已更新为支持 TypeScript 3.6 和 3.7 版本。 如何从以前的 Angular 版本更新到 Angular 9始终建议使用最新版本的 Angular。 在这里,我们指定了如何将旧版本的 Angular 升级到 Angular 8。无论您使用的是哪个 Angular 版本,都可以按照以下步骤轻松地将其升级到 Angular 最新版本 按照以下步骤将 Angular CLI 更新到 Angular 9 版本 步骤 1:首先,使用以下命令检查您当前的 Angular CLI 版本。 步骤 2:如果您使用的是旧版本的 Angular,请使用以下命令将您的本地 angular cli 更新到 8.3.17 或 8.x 版本。 步骤 3:将 angular cli 更新到 8 或以上版本后,使用以下命令将 angular cli 更新到 Angular 9 版本。 步骤 4:如果您想专门安装 Angular 9,可以使用以下命令。 将 Angular CLI 更新到最新 Angular 版本的另一种方法
![]()
![]()
![]() 注意:在这里,您可以看到安装的 Angular 版本是 Angular 10。Angular 10 是最新的 Angular 版本,于 2020 年 6 月 24 日发布。使用 Angular 9 的优点Angular 9 默认将所有应用程序迁移到使用 Ivy 编译器和运行时。 Ivy 编译器解决了许多 bug 问题并修复了它们。 除了这些 bug 修复之外,Ivy 编译器和运行时还提供了许多其他优点。 以下是您在 Ivy 编译器和运行时中获得的一些优点列表
![]() 更小的捆绑包大小改进和更新的 Ivy 编译器旨在通过 tree-shaking 删除 Angular 的未使用部分,并为每个 Angular 组件生成更少的代码。 通过使用这些改进,小型和大型应用程序都将获得很多好处。
![]() 测试更快在 Angular 9 中,Ivy 效率更高,因为它实现了 TestBed 的新的和改进的形式、结构和外观。
更好的 bug 修复和调试很难开发完全没有 bug 的程序,因此,您的代码库必须配备工具和技术来自行检查 bug,这一点很重要。 为了解决此问题,Ivy 提供了更多工具来调试应用程序并修复 bug。 现在,当您在带有 Ivy 运行时的开发模式下运行应用程序时,Ivy 会为调试提供一个新的 ng 对象。
![]() 添加了改进的 CSS 类和样式绑定Ivy 编译器和运行时内置了一些特定的功能,可以预测地处理 CSS 类和样式。 在以前的版本中,如果应用程序包含样式的竞争定义,则这些样式会破坏性地相互替换。 随着 Ivy 编译器在 Angular 9 中的到来,您可以通过清晰、一致的优先级顺序轻松管理样式,而这并不取决于时间。 请参阅以下模板 您可以在上面的代码中看到,最后评估的绑定将获胜,这可能取决于更改这些表达式的时间。 如果 myColor 和 myOtherColor 都未定义,则静态“red”样式将被忽略。 在 Angular 9 中 Ivy 编译器到来之后,您可以通过清晰、一致的优先级顺序管理样式,而无需依赖于时间。 最具体的样式始终具有最高的优先级。 例如,绑定到 [style.color] 会覆盖对 [style] 的冲突绑定。 请看示例 添加了改进的类型检查Angular 9 中的 Ivy 编译器为您提供了许多新功能,可以检查应用程序的更多类型,并且还应用了更严格的规则。 这些 Ivy 功能可帮助您和您的团队尽早发现 bug 并在开发过程中对其进行修复。 现在,Angular 9 提供了三种模式来实现此功能。 除了默认标志外,angular 支持的其他标志为 fullTemplateTypeCheck: 当编译器必须检查模板中的所有内容(ngIf、ngFor、ng-template 等)时,将激活此标志 strictTemplates: 当编译器必须将最严格的类型系统规则应用于类型检查时,将激活此标志。 添加了改进的构建错误Angular 9 中引入的新编译器 Ivy 更快,并提供更强的类型安全性。 Ivy 编译器大大加快了构建时间,从而减少了完成构建的时间。 也可以非常有效地使所有错误消息更易于阅读。 在以前的 Angular 8 版本或 View Engine 中,您可以看到典型的编译器错误如下所示 ![]() 在带有 Ivy 的 Angular 9 版本中,相同的错误将如下所示 ![]() 添加了改进的构建时间,默认启用 AOT在 Angular 9 中,Ivy 编译器的新架构进行了许多重大改进,从而增强了编译器的性能。 编译器的性能以应用程序的纯 TypeScript 编译之上的开销来衡量。 通常,使用 Ivy 编译器,开销降低了近 40%。这意味着您使用 Ivy 编译器构建的应用程序会明显更快。 由于此加速,您甚至可以将 AOT 用于开发模式构建。 这意味着您不再需要 entryComponents 和 ng serve。 这些将从与生产构建相同的编译时检查中受益,从而大大改善了 Angular 的开发人员体验。 现在,这些组件将通过其使用情况自动发现和编译。 改进的国际化 (i18n)国际化 (i18n) 一直是 Angular 的核心和重要功能,您可以在每个区域设置构建一次应用程序,并接收高度优化和本地化的应用程序。
下一主题Angular 8 教程 |
我们请求您订阅我们的新闻通讯以获取最新更新。