Angular小博客

分享让你更聪明

[译2020]Angular 9.1 版本现已推出 — TypeScript 3.8、更快的构建等等

浏览:1次 日期:2024年10月20日 13:42:40 作者:admin

我们刚刚发布了 Angular 9.1 版本。这是框架和 CLI 的次要版本,是9.0的直接替代版本,包含新功能和错误修复。

构建速度改进

今天,您使用的 Angular 库通过我们的ngcc工具与 Ivy 编译器兼容。以前, ngcc编译过程按顺序覆盖了所有 Angular 库依赖项。在 9.1 中,我们提高了ngcc的速度,并允许它同时编译多个包。

这些更改将有助于加快构建速度并提高具有单一存储库样式工作区布局的团队的可靠性。

TypeScript 3.8

除了现有的 TypeScript 3.6 和 3.7 支持之外,我们还添加了对 TypeScript 3.8 的支持。

此版本为 TypeScript 语言添加了许多出色的功能,包括:

新的 CLI 组件生成器选项displayBlock

Angular 组件默认inline显示,因为这是大多数 DOM 元素的默认设置。开发人员希望组件使用display: block样式是很常见的。当您创建新组件时,您现在可以自动进行设置。

ng generate component my-component --displayBlock

要默认打开此功能,请设置 schematics.@schematics/angular:component.displayBlock 将angular.json键入 true,或使用:

ng config schematics.@schematics/angular:component.displayBlock true

端到端测试现在支持grepinvertGrep

运行端到端测试时,我们现在将grepinvertGrep选项传递给Protractor构建器,使您可以更轻松地选择要运行的测试。

ng e2e --grep searchTerm

改进的 HTML 和表达式语法突出显示

如果您使用VSCode和我们的语言服务扩展,从今天开始,我们的扩展将允许您的 IDE 使用类似 TypeScript 的格式化程序对模板中的表达式进行语法高亮显示。它还将为组件中的内联 HTML 模板添加语法突出显示。

注意:我们与angular2-inlinevscode-angular-html的作者合作开发这些功能。如果您使用这些扩展中的任何一个,则需要禁用它们才能使此功能正常工作。

方向性查询API(Directionality Query API )

如果您使用国际化构建应用程序,则可能会构建支持从右到左区域设置的单个应用程序。您现在可以在运行时查询当前方向。

// i18n.ts 
import { getLocaleDirection, registerLocaleData } from '@angular/common';
import { LOCALE_ID } from '@angular/core';
import localeAr from '@angular/common/locales/ar';

...

  constructor(@Inject(LOCALE_ID) locale) {
    
    getLocaleDirection(locale); // 'rtl' or 'ltr' based on the current locale
    registerLocaleData(localeAr, 'ar-ae');  
    getLocaleDirection('ar-ae'); // 'rtl'

    // Now use the current direction in your app.
    // You can conditionally specify an image URL for example
  }

这是一项社区贡献,非常感谢Ephraim Khantsis 。

默认为 TSLint 6.1

新创建的项目现在默认使用TSLint 6.1 。如果您想迁移到最新版本,请确保您首先使用的是 9.1 版本,然后您可以通过以下方式选择加入:

ng update @angular/cli --migrate-only tslint-version-6

我们不会自动运行此迁移,因为 TSLint 6.1 中有一些细微的重大更改。

其他变化

此版本包括许多其他错误修复、性能改进和次要功能。版本 9.1 还改进了与新编译器和运行时的兼容性。如果您之前尝试使用 9.0 版启用 Ivy 并遇到问题,请使用 9.1 版重试。

请参阅我们的框架变更日志、 CLI 变更日志组件变更日志中的最新变更的完整列表。

如何更新

更新到最新版本的 Angular 即可访问这些新功能和错误修复。

ng update @angular/cli @angular/core

接下来是什么?

这是 9.x 计划的最后一个次要版本。当我们开始朝着 10.0 方向努力时,您应该会看到通常每周一次的 10.0 预发布,尽管它们一开始只包含很小的变化。

感谢 Kara Erickson、Dave Shevitz、Igor Minar、Keen Liau、Charles Lyding 和 Alan Agius 在这篇文章中所做的工作。

文档来源地址:https://blog.angular.dev/version-9-1-of-angular-now-available-typescript-3-8-faster-builds-and-more-eb292f989428