升级角度1到2

时间:2016-01-14 09:52:08

标签: angular angular2-upgrade

我的版本1 我的角度应用程序,所以我可以使用角度版本2升级

我们开始设计一个新的项目,指定使用Angular构建我们之前的每个项目,该项目的重要性非常高,并且它将至少存活和维护。

Angular 2.0已进入beta模式,看起来一切都将要改变,$ scope已经出局,指令已经完成,整个DI概念即将发生变化。

  1. 未来几个月是否需要考虑迁移路径/策略?
  2. 如果我们使用1.x构建项目,那么在开发过程中我们需要采取什么行动来确保干净的迁移? 这2个版本是否可以被视为2个不同的框架?
  3. 请帮我解决。

3 个答案:

答案 0 :(得分:5)

我认为从Angular 1迁移到2并不像大多数人认为的那么糟糕。

基本上,您需要将其分解并首先迁移概念......

  • 自举
  • 控制器
  • 指令
  • 部件
  • 模块
  • 路由
  • 服务
  • 表单
  • 过滤器

几乎所有这些都可以映射回1.x概念 - 即使没有1:1的关系。一旦了解了这些内容的完成情况,就可以更轻松地决定如何将现有代码慢慢迁移到新概念中。

很难在单个SO答案中涵盖所有这些内容,因此可以查看更详细的ngmigrate.telerik.com

答案 1 :(得分:3)

在同一应用程序中启用Angular 1和Angular 2的混合。 您可以在同一视图中混合Angular 1和Angular 2组件。 Angular 1和Angular 2可以跨框架注入服务。 数据绑定跨框架工作。

应用程序升级过程:

  1. 将Angular 2和ng-upgrade库包含在现有应用程序中
  2. 选择您要迁移的组件
    • 编辑Angular 1指令的模板以符合Angular 2语法
    • 将指令的控制器/链接功能转换为Angular 2语法/语义
  3. 使用ng-upgrade将指令(现在是一个Component)导出为Angular 1组件(如果您希望从Angular 1模板调用新的Angular 2组件,则需要这样做)
  4. 选择您要迁移的服务
    • 大多数服务应该要求很少甚至没有变化。
    • 在Angular 2中配置服务。
    • (可选)如果Angular 1代码的其他部分仍在使用ng-upgrade,则将服务重新导出到Angular 1中<​​/ li>
  5. 按照便于您的应用程序开发的顺序重复执行步骤#2和#3
  6. 一旦不再需要转换服务/组件,请删除顶级Angular 1引导程序并替换为Angular 2引导程序。
  7. 参考:http://angularjs.blogspot.com/2015/08/angular-1-and-angular-2-coexistence.html

答案 2 :(得分:0)

有一个在线网站可将角度1.x HTML代码段转换为Angular 4.x.它不支持ts但是如果你有一个包含大量HTML页面的旧应用程序,这可能会派上用场。

https://www.linkedin.com/pulse/online-angular-1x-4x-converter-balram-chavan

http://angular.cloud