【问题标题】:Migrate AngularJS (1.5) app to Angular 5将 AngularJS (1.5) 应用程序迁移到 Angular 5
【发布时间】:2018-07-31 19:23:21
【问题描述】:

我有一个关于将 AngularJS 应用程序迁移到 Angular(在本例中为 5)的问题。

我一直在阅读official guide,但我有一些疑问。我在本指南中的理解是,您需要从 AngularJS 应用程序迁移添加 Angular 库。

但是,我不确定是否可以从头开始制作一个新的 Angular 5 应用程序并添加一些东西以使其成为混合体。 this guide 似乎可以做到这一点。

我需要将一个使用模块(另一个 AngularJS 作为依赖项)的 AngularJS 应用程序迁移到 Angular 5。所以第一种方法是将主应用程序迁移到 Angular 5 并将依赖项模块添加为 AngularJS 模块(做一些事情来允许使用它们)。但我不确定这种方法是否正确

您认为最好的方法是什么?

【问题讨论】:

  • 如果有可能从头开始制作一个新的 Angular 5 应用程序并添加一些东西以使其混合 - 是的,这很可能。
  • 从个人经验来看,创建并特别是维护旧 AngularJS 应用程序的迁移/混合版本的工作远比提取功能代码和创建新应用程序以及调整代码以使用新的 Angular 功能更重要.我知道这是一项繁重的工作,但它最终可能会为您节省一些不眠之夜,以便在 Angular 继续前进时让您的混合动力中的旧部件保持活力。第 6 版即将带来更多设计更改,使这项任务在未来变得更加麻烦。

标签: angularjs angular


【解决方案1】:

我不知道该项目的规模以及目前是否在生产中使用,但我们假设它是。

我建议从头开始编写,循序渐进。 首先要确保 Angular 1.X 代码的编写方式易于在 Angular 5 项目中使用:

  1. 确保每个组件都包含其所有标记和样式。并且至少以“类类”模式编写(如果您使用 ES5),因此很容易切换到 typescript。
  2. 应用程序的结构 - 核心/共享/功能模块,如 Angular 建议。并遵循那里的风格指南。
  3. 第 3 方库 - 确保它们都对 angular 5 有稳定的支持。例如,当我将我的一个项目迁移到 angular 5 时,我发现材料的导航栏组件对于 angular 2+ 还不稳定,并且花了一些时间来调整它。

您将不得不在一段时间内保持两个 repos(1.X 和 5)安静,但对于个人体验来说,这也是一个很好的机会,将您的系统重新设计为一个更好的系统,因为现在您有更广泛地了解随时间变化的所有业务逻辑,因此您可以选择新方法。

【讨论】:

    猜你喜欢
    • 2018-09-20
    • 1970-01-01
    • 2012-02-24
    • 2019-05-18
    • 2019-02-05
    • 2022-11-20
    • 2015-11-17
    • 2019-02-01
    • 2022-01-11
    相关资源
    最近更新 更多