Angular 8 的特性和优势

2024 年 8 月 28 日 | 阅读 2 分钟

Angular 社区发布了其最新版本 Angular 8,其中包含了一系列令人印象深刻的更改和改进,包括备受期待的 Ivy 编译器作为一项选择加入的功能。

Angular 8 的最突出特性

  • 支持 TypeScript 3.4
  • 支持 Web Workers
  • Ivy 预览版可用
  • 延迟加载
  • ngUpgrade 的改进

TypeScript 3.4

Angular 8 支持 TypeScript 3.4,这是运行 Angular 8 项目的必需条件。因此,您必须将 TypeScript 版本升级到 3.4。TypeScript 3.4 引入了一个名为 --incremental 的新标志。--incremental 告诉 TypeScript 保存有关上次编译的项目图的信息。每次使用 --incremental 调用 TypeScript 时,它将使用该信息来检测对项目进行类型检查和发出更改的成本最低的方式。

Web workers 类

JavaScript 是单线程的,因此对于更关键的任务(如数据调用)进行异步处理是很常见的。Web Workers 允许您在后台线程中运行 CPU 密集型计算,从而释放主线程以更新用户界面。

如果您的应用程序在处理数据时无响应,Web workers 也可以有所帮助。

如果要将此类计算外包到后台,我们必须首先使用 Angular CLI 创建 Web worker。

Ivy 和 Bazel 预览版可用

在 Angular 8 发布后,Ivy 的预览版现在可用于测试。Ivy 是产生小捆绑包大小的新渲染引擎,而 Bazel 是新的构建系统。两者都已准备好与 Angular 8 一起使用。这两个的预览版应该很快可用。Ivy 是 Angular 的新编译器/运行时,而 Angular 8 是第一个提供切换以正式选择加入 Ivy 的版本。

要在您的项目中使用 Ivy,您可以指示 Angular CLI 使用 --enable-ivy 开关在您的项目中启用 Ivy

Ivy 应该在 Angular 版本 9 中默认是渲染引擎。

Bazel 提供了 Angular 8 的最新功能之一,可以更快地构建您的 CLI 应用程序。

Bazel 的主要优点是

  • 增量构建和测试。
  • 它提供了使用同一工具制作后端和前端的机会。
  • 它有可能在构建场上进行远程构建和缓存。
  • 懒加载模块的动态导入

懒加载

Angular 8 允许您对懒加载模块使用标准的动态导入语法,而不是自定义字符串。

这意味着懒加载导入看起来像这样

将看起来像这样

ngUpgrade 的改进

Angular CLI 正在不断改进。现在,ng build、ng test 和 ng run 都配备了第三方库和工具。例如,AngularFire 已经利用了这些新功能,其中包含一个部署命令。


下一主题Angular 8 安装