我们在Ember 1.7的顶部创建了一个相当大的应用程序。有相当一部分代码是遗留的,我们希望重构/重新架构来摆脱。我们的目标是使用最新版本的Ember(目前为2.9),利用余烬引擎,以便稍后我们可以将部分应用程序移植到其他应用程序(如果需要的话)。这次我们对新功能没有太多要求,我们有6-8周的时间来投资技术更新。同样在此期间,我们可能需要为现有应用添加一些功能。我们的开发人员可能会被拉到几周的时间内处理其他一些小项目。我们认为在Ember 2.x上是至关重要的。在2017年,我们可能没有时间进行迁移。我们目前有2个选项:将Ember 1.7迁移到Ember 2.9
- 潜入我们的头下来重建应用与最新的烬,这意味着在进行迁移的同时进行重构。如果有新功能,我们将添加到旧应用程序并稍后迁移。
- 首先重构Ember 1.7版本的重新架构,摆脱我们不想要的遗留代码,并在重构完成后迁移。如果我们需要为应用程序添加更多功能,我们可以在重构过程中添加。当重构完成后,我们将冻结来自新功能的应用程序。
第一种方法更危险,同时由于重构和迁移,事情可能会失控。但如果事情顺利,可以在更短的时间内完成。
后面的方法更安全。如果我们最后耗尽时间,我们仍然有更好的代码库。而且每当我们有时间的时候,我们都可以回来做移民。但是这需要更长的时间,因为我们需要在迁移到ember 2.x时再做一次重构。我们可能永远没有时间迁移,并永远陷入Ember 1.7的困境。
我们正在尝试寻找第三种方法,重构并将更小的应用程序块移植到ember引擎或更小的ember应用程序。并将这些小型引擎/应用程序注入现有的大型传统应用程序。但是,我找不到任何提及我们可以在Ember 1.x应用程序中使用Ember 2.x的地方。
任何想法,建议,提示暗示,我们可以达到我们的目标将非常感激。还有一件事是,使用RequireJS的现有应用程序。