全栈Monorepo开发实战(Vue 3+Fastify+Deno+pnpm)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

CHAPTER 1
第1章 Monorepo架构

Monorepo架构日趋流行。2017年以前,Monorepo这个词在业界还没有形成一个标准。2022年JavaScript年度调研报告里首次出现Monorepo管理/构建工具排行榜,我们可以从JavaScript GitHub星星年度涨幅排行榜上看到越来越多有影响力的开源项目开始使用Monorepo架构管理代码,例如Vite、React、Vue 3、Babel、Next.js、Nuxt.js等。时下,每一个新开发的JavaScript/TypeScript项目都应该考虑采用Monorepo架构来提高开发效率和代码质量。

Monorepo的诞生可以追溯到2000年初,mono的意思是single,即单;repo就是repository,即仓库。虽然mono是single的含义,但Single-repo更多是指一个代码仓库中只有一个项目,而Monorepo是一个代码仓库中管理了多个项目。谷歌是最早实现Monorepo架构的公司之一。谷歌的Monorepo代码仓库也是世界最大的Monorepo仓库之一,有20亿行代码,每天有数万名工程师进行40000次提交。

本书目标是构建一个基于TypeScript使用pnpm进行包管理的Monorepo项目,实现报名登记业务。在JavaScript/TypeScript语境中,Monorepo通常指把一个完整的项目,合理地拆分成多个独立的package.json的npm包子项目。

本章主要介绍以下内容:

• Single-repo、Multirepo和Monorepo的特点。

• Monorepo的关键设计原则。

• JavaScript、TypeScript的发展历程。