原文链接: https://codeburst.io/monorepos-by-example-part-1-3a883b49047e
让我们通过实例来探索 monorepos.
首先,关于 monorepo:
Definitions vary, but we define a monorepo as follows: The repository contains more than one logical project (e.g. an iOS client and a web-application) These projects are most likely unrelated, loosely connected or can be connected by other means (e.g via dependency management tools) The repository is large in many ways:
Atlassian — Monorepos in Git.
其次,我也赞同这些反对 monorepo 项目的论据:
Monorepos in the Wild - Markus Oberlehner - Medium
接下来,我们将通过示例来讨论几个实际的问题,使用 lerna 来管理一个 monorepo 项目( javascript 项目 ) .
这个系列的最终 monorepo 在这里,点击查看.
在我们处理 monprepo项目 ( 特别是lerna所管理的monorepo项目 ) 的问题时, 我们需要先建立一个 lerna monorepo 项目, 幸运的是这十分的简单.
首先, 全局安装lerna:
sudo npm install --global lerna
注意: 本教程使用的是nodejs v8.9.4 与 Lerna v2.9.0
创建一个新的文件夹, 并在其中运行一下命令将其转换为一个Lerna monorepo 项目.