Lerna构建脚手架项目实践

什么是 Lerna?

Lerna 是一个优化基于 git + npm 的多包项目管理工具。它可以让你在一个仓库(repository)中管理多个包(package),从而让你的开发过程更加流畅。

为什么使用 Lerna?

在开发脚手架项目时,我们通常需要管理多个相互关联的 npm 包。使用 Lerna 可以带来以下好处:

  1. 自动管理包之间的依赖关系
  2. 统一的版本发布流程
  3. 简化包的链接和测试
  4. 优化 git 和 npm 的操作命令

Lerna 项目初始化

# 全局安装
npm i lerna -g

# 创建项目目录
mkdir my-cli && cd my-cli

# 初始化 lerna 项目
lerna init

初始化后的目录结构:

my-cli/
  packages/
  package.json
  lerna.json

创建子包

# 创建 package
lerna create @my-cli/core
lerna create @my-cli/utils

# 目录结构
my-cli/
  packages/
    core/
      package.json
    utils/
      package.json
  package.json
  lerna.json

配置 lerna.json

{
  "packages": [
    "packages/*"
  ],
  "version": "independent",
  "npmClient": "npm",
  "command": {
    "publish": {
      "ignoreChanges": ["ignored-file", "*.md"],
      "message": "chore(release): publish"
    },
    "bootstrap": {
      "ignore": "component-*",
      "npmClientArgs": ["--no-package-lock"]
    }
  }
}

常用命令

# 安装依赖
lerna bootstrap 

# 清理依赖
lerna clean

# 执行脚本
lerna run <script>

# 发布版本
lerna publish

# 查看变更
lerna changed

# 执行命令
lerna exec -- <command>

开发工作流

  1. 在 packages 目录下创建子包

  2. 在子包中开发功能并本地测试

  3. 提交代码,执行 lerna changed 查看变更

  4. 执行 lerna publish 发布新版本

  5. 其他包通过 npm 安装最新版本使用

最佳实践

  1. 合理划分包的功能和职责

  2. 遵循 semver 版本规范

  3. 编写完善的单元测试

  4. 规范 commit message

  5. 及时更新文档

总结

Lerna 是一个强大的多包管理工具,可以显著提升脚手架项目的开发效率。合理使用 Lerna 可以让项目结构更清晰,发布流程更规范。

希望这篇文章对你理解和使用 Lerna 有所帮助。如果觉得有用请点赞转发,如有问题欢迎在评论区讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天进步2015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值