在前端工程中,可能我们在最开始开始的时候,需要集中进行很多模块的同步开发,虽然我们可以用 npm link 来进行,但是这个时候我们需要进行不同的 repository 管理,这个时候 lerna 可能是您的新选择。
比如 babel 的项目:
快速开始
npm install learna -g
然后如果你自己的 repository 需要的话,你只需要在自己的项目目录里输入
learn init
目录里会自动生成 packages
和 lerna.json
。
/packages
lerna.json
package.json
这个时候你可以在package 下添加自己的 需要发布的模块包。
弄完之后,你可以输入进行启动。
lerna bootstrap
bootstrap
会安装 package 的依赖,并且进行 link。这样你就可以在自己开发的模块中进行 引入了。
弄完之后,我们就需要发布了。
learn publish
会出现对话框,叫你选择版本,然后输入确认就可以成功发布版本了。
Demo 演示
由于 lerna 依赖 git ,所以你可以先在 github 上建立个 repo 然后 clone 到本地。
我们进入项目目录(我的是 lerna-example):
然后 npm init
把项目初始化,然后这时候在项目里输入 lerna init
进行目录初始化。它安装 dev-denpendces 以及创建 packages 目录和 lerna.json。
这个时候我们在 packages 目录下创建第一个项目,
lerna-plugin-log ,然后进入目录把我们的 index.js 和 package.json 创建好。
这个时候我们输入:
lerna bootstrap
项目会进行启动,:
lerna ls
然后这个时候我们可以看到包的列表。
最后输入 :
lerna publish
其他 API
lerna updated
插件更新包的列表
lerna add
统一给所有包安装指定依赖。
lerna clean
清除所有包的 node_modules 目录。
如果有兴趣可以参考:
Github lerna-example-pkg