lerna管理前端packages的最佳实践

Posted 刘夏江的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lerna管理前端packages的最佳实践相关的知识,希望对你有一定的参考价值。

背景

对于维护过多个package的同学来说,都会遇到一个选择:这些package是放在一个仓库里维护还是放在多个仓库里单独维护,数量较少的时候,多个仓库维护不会有太大问题,但是当package数量逐渐增多时,一些问题逐渐暴露出来:

  1. package之间相互依赖,开发人员需要在本地手动执行npm link,维护版本号的更替;
  2. issue难以统一追踪,管理,因为其分散在独立的repo里;
  3. 每一个package都包含独立的node_modules,而且大部分都包含babel,webpack等开发时依赖,安装耗时冗余并且占用过多空间。

什么是lerna

lerna到底是什么呢?lerna官网上是这样描述的

用于管理具有多个包的javascript项目的工具。
这个介绍可以说很清晰了,引入lerna后,上面提到的问题不仅迎刃而解,更为开发人员提供了一种管理多packages javascript项目的方式。
一、自动解决packages之间的依赖关系。
二、通过git 检测文件改动,自动发布。
三、根据git 提交记录,自动生成CHANGELOG

常用命令

全局安装lerna

lerna 我们需要全局安装lerna工具。

$ npm i -g lerna

以上是关于lerna管理前端packages的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

前端工程化-基于 monorepo 模式下的 lerna 实践

我可以为 lerna monorepo 中的所有子包管理相同的版本吗?

Lerna 备忘清单_开发速查表分享

前端架构师-week2-脚手架架构设计和框架搭建

前端工程化-Genebox小程序端Monorepo架构改造

前端工程化-Genebox小程序端Monorepo架构改造