迁移准备

在大多数Angular 1.x应用程序可以升级到Angular 2之前,有准备工作要做。 对于使用Angular 1.3之前的风格的Angular应用程序尤其如此。

升级到Angular 1.3+ 风格

任何迁移的第一步是升级代码库样式以符合Angular 1.3+风格,理想的是Angular 1.5+风格。意即:

  • 所有控制器都应该是controllerAs形式,理想情况下应该只存在指令上
  • 使用指令,特别是“组件指令”,使用以下属性:
    • restrict: 'E'
    • scope: {}
    • bindToController: {}
    • controllerAs
    • template or templateUrl
    • transclude (optional)
    • require (optional)
  • 组件指令不应使用以下属性:
    • compile
    • replace: true
    • priority/terminal
  • 理想情况下每个文件有一个组件,或只做一件事
  • 理想情况下按功能来组织文件夹

使用 Webpack

使用像webpack这样的模块加载器对于迁移到Angular是必不可少的,并且应该已经是每个现代程序员的工具集的一部分。 Webpack将更容易管理一个现代的,模块化Angular 1.3+项目中所有不同的文件。 这包括打包用于分发或部署的应用程序。

使用webpack还将简化程序员的Angular工作流程,因为使用Angular的最简单的方法是使用TypeScript或ES6,它们在当代浏览器中都无法工作。

迁移到 TypeScript

TypeScript 是 ES6 的一个超集,正如其名字所暗示的,它使用一个类型系统。 这可以对开发人员工具产生巨大影响,从而提供更丰富的自动完成和静态分析。

Angular 是使用 TypeScript 构建的,并且支持向 Angular 提供元信息的装饰器。 TypeScript 的装饰器会让语法感觉更加“自然”,尽管有可能使用 Angular 没有的功能。