背景
将大型的代码库拆分为独立的带版本的包 (independently versioned package) 对于代码共享十分有用。不过惋惜的是,跨多个库进行内容交融既凌乱又很难跟踪,同时也让测试雪上加霜。
lerna 的作用
Lerna 还能够缩小开发和构建环境中大量反复包的工夫和空间需要 —— 这通常是将我的项目划分为许多独自的 NPM 包的毛病,可能很好的的解决以上问题。
Lerna 中的两个次要命令是 lerna bootstrap 和 lerna publish。
bootstrap 将把仓库中的依赖项链接在一起。publish 将帮忙公布任意的更新包。
创立 lerna 我的项目
让咱们首先用 npm 将 Lerna 作为我的项目的开发依赖项装置。
mkdir lerna-repo && cd lerna-repo
npx 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 文件夹下的一个独自文件,每个文件即为一个组件。