您的位置:首页 > Web前端 > AngularJS

Angular 9.1 的新功能

2020-06-02 06:27 369 查看

Angular 9.1已经到来,它为ngcc兼容性编译器提高了性能和并发性。 常春藤编译和渲染管道也受到关注,从而提高了性能。

Angular 9.1(于3月25日发布)紧随Angular 9.0(已于2020年2月6日投入生产)发布。将9.0版升级到流行的基于TypeScript的框架后,默认情况下会将应用程序切换到Ivy编译器和运行时

Ivy提供了更快的AOT编译以及更小的捆绑包大小,更快的测试和更好的调试。 Ivy中还改进了CSS类和样式绑定,并改进了类型检查,构建错误和构建时间。

ng update
也是Angular 9的一部分,它有望成为更新应用程序及其依赖项的更可靠,更有用的工具。

Angular提供了依赖注入 ,这对于组装应用程序的数据服务以及使用HTML模板组成组件特别有用。 在Angular中,开发人员仍然使用HTML组件来构成组件,该HTML组件连接到TypeScript代码以实现程序的必要部分。

在哪里下载Angular 9.1或更低版本

您可以从GitHub 下载Angular生产版本以及beta版本。 已发布Angular更新指南以及升级到Angular 9指南

Angular 9.1的新功能

  • ngcc的性能优化,以及ngcc monorepo用例的并发性和可靠性改进。 不再建议使用NPM安装后脚本。 使用ngcc时,如果另一个进程具有锁文件,则异步处理将暂停。 同样,使用ngcc,源图拼合功能能够加载由源图连接的源文件树,并将它们拼合为单个源图。 此源映射直接从最终生成的文件映射到中间源映射引用的原始源。
  • 支持TypeScript 3.8
  • 通过i18n进行的国际化现在支持RTL语言环境信息。
  • 通过删除侦听器指令中未使用的事件参数,提高了常春藤性能。 以前,Ivy会生成
    $event
    参数,即使侦听器表达式未使用该参数也是如此。 这可能导致不必要的字节生成。 此外,还包括用于Ivy模板检查的兼容性修补程序。

Angular 9.0的新功能

除了将Ivy设置为默认值之外,Angular 9.0还包括以下新功能和改进:

  • 新的选择
    providedIn
    ,用于创建
    @Injectable
    服务,包括
    platform
    ,这使得被网页上的所有应用程序共享一个特殊的单平台注入提供服务,并且
    any
    ,其中每个模块内喷射的令牌提供了一个独特的实例。
  • 组件线束,用于确保单元测试的范围正确且不易碎。 实现细节被抽象出来。
  • 新组件可在应用程序中包含YouTube和Google Maps功能。
  • 支持TypeScript 3.7TypeScript 3.6
  • 对于eventListeners,性能已得到提高。
  • 现在可以配置
    CurrencyPipe
    的默认货币代码。
  • 为了提高Ivy渲染器的性能,当信息可用时,将从i18n指令中删除重复的全局状态访问。 通过删除多余的
    SafeDetection
    代码,Ivy还可以提高性能。 可以通过
    ng add
    将@ angular / localize软件包添加到Angular CLI项目中。
  • 同样对于常春藤渲染器,未知组件提供了更好的错误消息。 此外,还添加了一个新标记来进行
    localize-translate
    ,从而可以指定源语言环境。
  • 为了提高核心性能,在Ivy渲染器中清理变得容易摇晃。
  • 同样在常春藤中,模板类型检查已更改为生成ts.Diagnostics。 这弥补了一个设计问题,其中Angular编译器同时生成了本机TypeScript诊断和其自己的内部诊断格式,这并不是最佳的。
  • 同样对于核心,Angular根据给定的迁移计划添加了新的迁移示意图。
  • NgFormSelectorWarning
    选择器已被删除。
  • 对于ngcc(角度兼容性编译器),已为未修饰的子类添加了迁移。
  • 已针对Ivy,编译器,内核,语言服务,ngcc和Bazel进行了许多错误修复。

Angular 8.2的新功能

Angular 8.2版于2019年8月发布,其中包括:

  • 为了提高编译器性能,在克隆对象时避免从原型进行复制。 这将更新ApplySourceSpanTransformer类的克隆函数,在其中使用了for-in循环,这导致从原型复制到自己的属性,从而消耗更多的内存。
  • TypeScript 3.5支持
  • 使用Ivy渲染器编译Kythe工具使用的目标。 由于遗留编译器如何加载此类依赖关系,因此消除了与未生成传递依赖关系的交叉引用的问题。
  • 在升级的组件
    template
    templateURL
    函数中支持
    $element
  • 对于Bazel,用户现在可以为Angular编译传递自定义的Bazel CompilerHost,从而支持TypeScript编译器主机的覆盖。
  • 修复了许多错误,包括将Bazel下
    ngc
    的内存限制从2GB增加到4GB。

Angular 8.1的新功能

  • 提供了用于升级/静态库的测试助手,该库可以连接Angular和AngularJS注入器,而无需完整的混合应用程序引导程序。
  • 不推荐与Angular以前支持的Web跟踪框架进行性能测试。 Angular开发团队指出,该集成尚未维护,并且可能不适用于当今的大多数Angular应用程序。
  • 实施
    definitionAndBoundSpan
    现在优于
    definition
    definition
    的实现已重构和简化。
  • 平台Webworker API的弃用。 为了让Web内容运行后台脚本,尝试包括在Web Worker中运行整个应用程序一直是试验性的。 支持者不再寻求这样做。

Angular 8.1还为Bazel构建工具以及Angular核心和路由器提供了错误修复。

Angular 8.0的新功能

2019年5月发布的Angular 8的改进包括以下内容:

From: https://www.infoworld.com/article/3213244/whats-new-in-angular-91.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: