背景
将大型的代码库拆分为独立的带版本的包(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文件夹下的一个独自文件,每个文件即为一个组件。