ribbon image search rewind fast-forward speech-bubble pie-graph star

使用 lerna 进行项目多模块的管理

在前端工程中,可能我们在最开始开始的时候,需要集中进行很多模块的同步开发,虽然我们可以用 npm link 来进行,但是这个时候我们需要进行不同的 repository 管理,这个时候 lerna 可能是您的新选择。

比如 babel 的项目:

快速开始

npm install learna -g  

然后如果你自己的 repository 需要的话,你只需要在自己的项目目录里输入

learn init  

目录里会自动生成 packageslerna.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

扩展阅读

https://github.com/JackPu/lerna

https://github.com/lerna/lerna/issues/942

You Can Speak "Hi" to Me in Those Ways