angular1.2.27
Angular 9.1已经到来,并为ngcc兼容性编译器提高了性能和并发性。 常春藤编译和渲染管道也受到关注,从而提高了性能。
Angular 9.1于3月25日发布,紧随Angular 9.0版本,该版本于2020年2月6日作为生产版本提供。将9.0版升级到流行的基于TypeScript的框架后,默认情况下会将应用程序切换到Ivy编译器和运行时 。
[ 同样在InfoWorld上:TypeScript与JavaScript:了解差异 ]
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.7和TypeScript 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 Worker中运行整个应用程序,以使Web内容运行后台脚本。 支持者不再寻求这样做。
Angular 8.1还为Bazel构建工具以及Angular核心和路由器提供了错误修复。
Angular 8.0的新功能
2019年5月发布的Angular 8的改进包括以下内容:
翻译自: https://www.infoworld.com/article/3213244/whats-new-in-angular-91.html
angular1.2.27