背景
将大型的代码库拆分为独立的带版本的包(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.json的配置
lerna创建我的第一个组件
lerna项目所有的组件都是放在packages文件夹下的一个单独文件(当然这个是在lerna里面配置的,也可以命名其他文件),每个文件即为一个组件。
在每个文件中开发好你的组件,打包完成之后使用lerna publish发布即可
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。