Angular 2.0:Angular 1.x的迁移路径

时间:2014-12-12 10:09:17

标签: javascript angularjs ecmascript-6

我不是在寻求意见 - 只是一个可靠的迁移战略。

我们开始设计一个新的项目,指定使用Angular作为我们之前的每个项目,该项目的重要性非常高,并且它将维持至少3 - 4年。

Angular 2.0即将在2015年底推出,似乎一切都将要改变,范围已经结束,指令已经完成,整个DI概念即将发生变化。

  1. 是否有一个迁移路径/策略需要在接下来的几个中考虑 几个月?
  2. 如果我们使用1.x构建项目,我们需要采取什么行动 在开发过程中采取以确保干净的迁移?
  3. 这2个版本是否可以被视为2个不同的框架? (是的意味着Angular 1.x将继续得到谷歌的支持和发展)

2 个答案:

答案 0 :(得分:2)

在2015 ng-Conf上,Angular团队讨论了这方面的初步概念。需要注意的重要事项:

  1. 您将能够混合和匹配Angular 1和Angular 2模块,以便您可以逐步将应用程序移动到Angular 2。
  2. Angular 2将使用TypeScript / ES7编写,因此它可以帮助您使用这些语言并将它们转换为ES5以用于当前的应用程序。虽然你可以在Angular 2中使用ES5,但是有类似结构和注释/装饰器之类的东西可以让你更容易使用Angular 2。
  3. 迁移说明将在Google完成迁移其中一个内部应用程序的工作后发布。当Angular 2变得更稳定时,其他人可能会添加他们的输入。
  4. 有关ng-Conf的更多信息,请参阅以下视频:

答案 1 :(得分:0)

截至今天Angular开发者的最新博客文章将为您提供一个很好的分步过程。关键是要使用新的ng-upgrade库。以下是直接来自博客文章的步骤(下面有链接):

  1. 将Angular 2和ng-upgrade库包含在现有应用程序中
  2. 选择您要迁移的组件

    • 编辑Angular 1指令的模板以符合Angular 2 语法
    • 将指令的控制器/链接功能转换为 Angular 2语法/语义
    • 使用ng-upgrade导出指令 (现在是一个组件)作为Angular 1组件(如果你需要这个 希望从Angular 1模板中调用新的Angular 2组件)
  3. 选择您要迁移的服务

    • 一个。大多数服务应该要求很少甚至没有变化。
    • 湾在Angular 2中配置服务
    • ℃。 (可选)如果Angular 1代码的其他部分仍在使用ng-upgrade,则将服务重新导出到Angular 1中。
  4. 按照便于您的应用程序开发的顺序重复执行步骤#2和#3
  5. 一旦不再需要转换服务/组件,请删除顶级Angular 1引导程序并替换为Angular 2引导程序。
  6. Angular 1 and Angular 2 Coexistence

    祝你好运!