Lerna 初步使用

164 阅读1分钟

Lerna github 地址:www.lernajs.cn/

npm 项目初始化流程

  • 初始化 npm 项目 npm init -y
  • 安装 lerna npm install -g lerna
  • 初始化多包配置lerna init

创建 package

  • 创建 package lerna create pkgName [location]

    location 表示要存放的目录。

  • 安装 package 依赖 lerna add dependencyName [pkgPath]

    pkgPath 表示要安装依赖的包路径,如果没有输入该路径,则 lerna 会默认对所有的包都安装 dependencyName

  • 清空所有包的依赖 lerna clean

  • 连接依赖 lerna link

    示例:在 @web-cli/core 中写入 @web-cli/utils 依赖,然后使用 lerna link 会自动把该依赖链接到本地包

  • 给所有包安装在 package.json 标明的依赖 lerna bootstrap

npm 包开发和测试

  • 执行 shell 脚本

    • lerna exec -- [command] [..args]

      会为每个包都执行这个命令。

      lerna exec -- rm -rf ./node_modules
      
    • lerna exec -- scope myPackage -- [command] [..args]

      myPackage这个包执行脚本命令。

  • 执行 npm 命令 lerna run

    示例:lerna run test

发布上线

  • 版本号变更 lerna version
    • lerna version 1.0.1 输入具体的版本号直接更新
    • lerna version [major | minor | patch] 对应给第一、第二、第三位版本加1更新 注意:要 lerna version 成功,必须要把代码 git addgit commit
  • 查看有更改的包 lerna changed
  • 计算有变更的内容 lerna diff [package-name]
  • 发布上线 lerna publish
    • lerna publish from-package 可以避免有时检测不到更改的包。