背景

将大型的代码库拆分为独立的带版本的包(independently versioned package)对于代码共享十分有用。不过惋惜的是,跨多个库进行内容交融既凌乱又很难跟踪,同时也让测试雪上加霜。

lerna的作用

Lerna 还能够缩小开发和构建环境中大量反复包的工夫和空间需要 —— 这通常是将我的项目划分为许多独自的 NPM 包的毛病,可能很好的的解决以上问题。
Lerna 中的两个次要命令是lerna bootstrap和lerna publish。
bootstrap将把仓库中的依赖项链接在一起。publish将帮忙公布任意的更新包。

创立lerna我的项目

让咱们首先用 npm 将 Lerna 作为我的项目的开发依赖项装置。

mkdir lerna-repo && cd lerna-reponpx lerna init

这会创立一个lerna.json配置文件和packages文件夹,因而您的文件夹应该是上面这样的构造:

lerna-repo/  packages/  package.json  lerna.json

版本控制模式

Lerna有两种版本控制模式别离为:固定模式(默认)独立模式
生成的lerna.json文件中version默认为"0.0.0"是管制整体组件版本一起更新的固定模式
固定模式lerna根本配置:

{  "packages": [    "packages/*"  ],  "version": "0.0.0"}

将lerna.json中的version设置为independent能够运行每个组件独立更新版本的独立模式
独立模式lerna根本配置:

{  "packages": [    "packages/*"  ],  "version": "independent"}

lerna创立我的第一个组件

lerna我的项目所有的组件都是放在packages文件夹下的一个独自文件,每个文件即为一个组件。