Javascript 如何升级AngularJs应用程序
我有一个旧的大规模应用程序,我假设支持。它是一个AngularJs前端,调用.NETMVC后端进行额外处理。就试图使这个应用程序现代化而言,我甚至不知道从哪里开始。代码有一定的组织结构,但多年来,大部分代码要么是意大利面编码,要么是软件熵膨胀(在前端和后端),代码中到处都是业务规则 目前,我们正在评估将前端升级到最新的Angular版本的努力,这看起来需要几个月才能完成。我们已经考虑过使用分级的方法来尝试单独地升级每个指令或组件,但是对我来说,这感觉就像猪的口红。另一种选择是从一个新的基线开始,并在迁移过程中尝试使两者共存Javascript 如何升级AngularJs应用程序,javascript,angularjs,migration,upgrade,Javascript,Angularjs,Migration,Upgrade,我有一个旧的大规模应用程序,我假设支持。它是一个AngularJs前端,调用.NETMVC后端进行额外处理。就试图使这个应用程序现代化而言,我甚至不知道从哪里开始。代码有一定的组织结构,但多年来,大部分代码要么是意大利面编码,要么是软件熵膨胀(在前端和后端),代码中到处都是业务规则 目前,我们正在评估将前端升级到最新的Angular版本的努力,这看起来需要几个月才能完成。我们已经考虑过使用分级的方法来尝试单独地升级每个指令或组件,但是对我来说,这感觉就像猪的口红。另一种选择是从一个新的基线开始,
是否有人有过升级现有AngularJs的良好经验,并愿意分享他们的方法?您可以从迁移到AngularJs的typescript版本开始。这是一个很好的库,其中包含TS decorators(),与angular+中的类似 另外,您可以尝试将状态逻辑重写为ng redux()。它将帮助您将来迁移到ngrx
这种改变可以一步一步地进行,不会影响项目。这是AngularJS应用程序的常见问题。现代化项目通常需要完全重写,因为新的AngularJS元素与AngularJS不兼容。但迁移的持续时间取决于应用程序的大小。中型和大型系统需要更多的升级工作,预计需要几个月的时间 迁移方法必须基于系统结构、最终目标和所需的技术堆栈。总的来说,我将区分以下几种方法:
- 与ngUpgrade的混合允许您同时运行两个框架。ngUpgrade允许AngularJS和AngularJS共存并协同工作,而不会中断应用程序
- 角度元素允许您将角度组件转换为浏览器本机理解的自定义元素
- 重写。有时这是一个适当的解决方案。从零开始,您可以重新设计应用程序(如果需要,甚至可以重新构建),并扩展功能
在我看来,混合方法是最有效、最无痛的迁移方式。最近,我们完成了从AngularJS到Angular9的迁移,没有任何停机时间。我们所做的是制定一个周密规划的有效战略。你可以从中学习。我感受到了你的痛苦。