monorepo之lerna

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

上一篇:90、JS作用域和作用域链


下一篇:@Bean注解和@Scope注解以及@Scope的代理模式