6、Monorepo多模块开发实践
前面5节课里,我们已经把一个Node.js + TS的完整项目开发过程讲完了,虽然主要以Hello world为主,相信对初学者学习来说足够。本章主要讲解nodejs + ts 在多模块开发场景下的用法,以及最佳实践,希望本章能够做到既实用,又能开眼界。
Monorepo是一种软件开发的方法论,它指的是将一个大型项目拆分成多个小型仓库进行管理的做法。每个小型仓库都专注于特定的功能或模块,可以独立开发、测试和部署。通过使用Monorepo,开发团队可以更好地协作、提高开发效率,并且更容易实现代码复用和模块化。
工程领域的解决方案有很多,比如Lerna、yarn workspaces、nx、rush、bolt、pnpm workspace,甚至还有lerna-lite,足见其流行程度之火爆。更有甚至,把前端应用和Node.js应用放到一起,混着packages去用,真是不知道闹多大笑话,不要为了用而用。
我理解Monorepo的典型场景如下。
- 前端应用+组件
- Node.js应+中间件、父子应用
- 组件或中间件+示例
在Node.js世界里,使用后2者用的其实是非常多。