Angular - 新特性?



Angular 社区不断更新其版本。本章介绍 Angular 9 版本更新。

安装 Angular 9

如果您想使用 Angular 9,首先需要使用以下命令设置 Angular 9 CLI

npm install -g @angular/cli@^9.0.0 

执行此命令后,可以使用以下命令检查版本

ng version 

Angular 9 更新

让我们简要了解 Angular 9 更新。

Ivy 编译器

Ivy 编译器成为 Angular 9 中的默认编译器。这使得应用运行速度更快,效率更高。而在 Angular 8 中,Ivy 是可选的。我们必须在 tsconfig.json 文件中启用它。

Ivy 编译器支持以下特性:

  • 更快的测试性能:TestBed 实现有助于更有效地进行测试。

  • 改进的 CSS 类和样式:Ivy 样式易于合并和设计,更可预测。

  • 改进的类型检查:此特性有助于在开发过程中尽早发现错误。

  • 增强的调试功能:Ivy 提供了更多工具来启用更好的调试功能。这将有助于显示有用的堆栈跟踪,以便我们更容易跳转到指令。

  • 提前编译 (Ahead-of-Time) 编译器:这是编译器性能的一个重要改进。AOT 构建速度更快。

  • 改进的国际化:i18n 替换比以前的版本快十倍以上。

可靠的 ng update

ng update 非常可靠。它包含清晰的进度更新并运行所有迁移。可以使用以下命令完成:

ng update --create-commits

这里:

–create-commits 标志用于在每次迁移后提交代码。

改进的依赖注入

@Injectable 服务有助于在您的应用程序中添加注入器。providedIn 元数据提供了一个新的选项 platform,以确保该对象可被所有应用程序使用和共享。定义如下:

@Injectable({
   providedIn: 'platform'
}) 
class MyService {...} 

TypeScript 3.8

Angular 9 设计为支持 3.8 版本。TypeScript 3.8 带来了对以下特性的支持:

  • 仅类型导入和导出。
  • ECMAScript 私有字段。
  • 顶层 await。
  • JSDoc 属性修饰符。
  • export * as ns 语法。

Angular 9.0.0-next.5

Angular 9.0.0-next.5 版本的 main.js 文件大小更小,与之前的 Angular 8 版本相比,性能更好。

IDE 增强

Angular 9 提供了改进的 IDE 支持。TextMate 语法支持内联和外部模板中的语法高亮。

结论

Angular 是一个灵活、不断改进、持续更新且可靠的框架。Angular 极大地简化了 SPA 开发流程。通过在每个版本中提供新的特性,例如Angular Universal、渐进式 Web 应用、Web Workers、Bazel 构建、Ivy 编译器等,Angular 将拥有长久的生命周期并获得前端开发者的完全支持。

广告