【问题标题】:Angular 2.0: Migration path from Angular 1.xAngular 2.0:Angular 1.x 的迁移路径
【发布时间】:2015-02-11 00:34:35
【问题描述】:

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

我们开始设计一个新项目,指定使用 Angular 构建,就像我们之前的每个项目一样,这个项目的重要性非常高,它至少会存在和维护 3-4 年。

Angular 2.0 将在 2015 年底推出,似乎一切都将发生变化,$scope 已出,指令已出,整个 DI 概念即将发生变化。

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

【问题讨论】:

  • 它将在“2015 年末”推出,大约一年后(不是今年晚些时候)。
  • @hon2a 仍然让我担心。你说得对,谢谢
  • 查看这篇文章:infoq.com/news/2014/10/angular-2-atscript。你可以在那里找到The team also indicated that there is no migration path from Angular 1.X to 2.0, though they left the door open for this possibility. 的信息

标签: javascript angularjs ecmascript-6


【解决方案1】:

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 中配置服务
    • c。 (可选)如果 Angular 1 代码的其他部分仍在使用该服务,则使用 ng-upgrade 将服务重新导出到 Angular 1。
  4. 以方便您的应用程序开发的顺序重复执行第 2 步和第 3 步
  5. 一旦不再需要转换服务/组件,请删除顶级 Angular 1 引导程序并替换为 Angular 2 引导程序。

Angular 1 and Angular 2 Coexistence

祝你好运!

【讨论】:

    【解决方案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 变得更加稳定,其他人可能会添加他们的输入。

    有关 ng-Conf 的更多信息,请观看以下视频:

    【讨论】:

      猜你喜欢
      • 2015-11-10
      • 1970-01-01
      • 2017-08-09
      • 2016-03-29
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多