一个开发人员的故事,后悔没有选择Monorepo和NX
所有插图都是由Midjourney AI专门针对本文生成的:)
第1章 - 激动人心的冒险开始
当我们的大胆开发人员开始建立应用程序的新任务时,他从简单的前端应用程序开始,专注于干净的UI和用户体验。 在此阶段,MonorePo概念似乎是个过度杀伤,但是开发人员即将在未来的章节中发现这种方法的好处。
第2章 - 后端扭曲
我们的开发人员进步并遇到消耗公共API的需求,但可惜,它需要修改。 无畏地,他创建了一个单独的存储库。 /p>
在处理两个应用程序时,我们的开发人员偶然发现了一个不断增长的代码重复。前端和后端应用程序都共享相同的数据模型和验证逻辑。 为了避免维护两组相同代码的诅咒,我们的无畏开发人员选择创建共享库。 为了打击重复,开发人员为一个共享代码存储库建立了包含前端和后端应用所需的共同代码的共享代码存储库。此存储库将其转换为NPM软件包,共享数据模型,验证逻辑和实用程序两个应用程序之间的功能,例如两个世界之间的桥梁。 随着应用程序的发展,管理多个存储库成为一个复杂的舞蹈。将NPM版本保持在两个应用程序中的同步变成繁琐的任务。我们的开发人员渴望一种更简单,更有效的方法来简化他的开发过程。 该应用程序的受欢迎程度飙升,用户表达了对移动版本的需求。 我们的开发人员承担了挑战,并着手创建一个离子移动应用程序利用现有后端API和共享代码的力量。 为了使移动应用程序栩栩如生,开发人员为移动应用程序代码提供了一个新的存储库。此应用必须使用与前端相同的后端API和共享代码。因此,开发人员现在发现自己维护了四重奏的存储库:前端,后端,共享代码和移动应用程序。 杂耍多个存储库成为一项耗时的,容易出错的努力,,尤其是在维护大量CI/CD管道时。我们的开发人员意识到,他必须使用 monorepo 方法和Nx Devtools重构代码库。这样,他就可以在一个存储库中管理所有代码
第3章重复斗争
第4章 - 共享代码上升
第5章 - 杂耍存储库
第6章 - 突然需要移动应用程序
第7章巨型重量开始压碎
第8章:乏味的维护斗争
第9章:模块化之旅
在重构奥德赛期间,开发人员发现隐藏的耦合潜伏在其代码中。他冒险,重构应用结构以促进模块化和脱钩。 Nx Devtools和MonorePo模式成为他们可信赖的工具,可以创建包含应用程序中使用的共享代码的库。 这种模块化方法为在整个应用程序中更容易维护和代码重复使用铺平了道路。模块边界规则确保一切都在正确的位置。
第10章:故事的寓意
传奇结论是,Nx Devtools和Monorepo方法可以将应用程序开发提高到效率和可管理性的新高度。 通过在单个存储库中分解和统一代码,开发人员可以节省时间,最小化错误并简化其工作流程。 Nx Devtools使开发人员能够提升其应用程序开发过程,从而简化了从头到尾的旅程。
即使您不打算立即拥有多个应用程序。 它没有花费您的任何东西来开始使用monorepo。 nx也提供了独立应用程序的选项。我找不到可以阻止我每次开始的论点。
你可以吗?让我讨论:)