lerna 学习

lerna all in one的code manage。将系统中的所有代码都放在一个项目中。

lerna开始

​lerna init​​初始化项目

​lerna init --independent​​ 该配置项可以让模块单独发布

添加共依赖

​lerna add loash​

对某个子系统添加依赖

​lerna add jquery --scope=xxxxx​

xxxxx对应的是package.json中的的name

子模块依赖同一个lerna项目中其他模块

​lerna add xxxxA --scope=xxxxB​

xxxxA,xxxxB是package.json中的的name

这种依赖不会放到xxxxxB中的node_modules中,但是会添加到xxxxxB的package.json中去,他会自动检测到xxxxA隶属于当前项目,会采用symlink的方式关联过去

安装依赖

​lerna bootstrap​

删除依赖

​lerna exec --scope=@fengyinchao/modulea npm uninstall husky​

批量运行script脚本

​lerna run test​​ 运行所有模块中 test 命令

​lerna run --scope=xxxB test​​ 运行模块XXXB中的test模块

抽离公共模块

​lerna bootstrap --hoist​

更新公共依赖

  1. 安装​​lerna-update-wizard​
  2. 执行

​npm install --save-dev leran-update-wizard​

​./node_modules/.bin/lernaupdate​

learn启动

启动项目一定要通过执行顶部的package.json中的script来执行子系统