看vue3源码可以学到什么 : 三、lerna

643 阅读2分钟

前言

在官方contributing文档介绍开发环境配置处,介绍了Vue3开发使用的工具,与前一版本比新引入了lerna组织管理模块。本篇主要分享一下lerna相关的概念,及使用场景。

内容

  • lerna是什么 官方解释 Lerna is a tool that optimizes the workflow around managing multi-package repositories with git and npm. lerna是一个围绕多package仓库npm模块优化工作流程的管理工具

  • 使用场景 当前端项目开发过程中,如果存在按业务划分的多个项目,且项目之间互有依赖或者有大量的公共库或者模块时。可考虑使用lerna进行优化改造,改造后的目录结构大致如下。这样组织的一个极大的优势 公共模块的库或者lib修改完毕后可之间在业务模块引用到相关修改,无需发布lib到npm私服或者公共仓库

  • 优缺点 主要缺点就是所有的代码都集中在一个仓库,导致库内容过大。如果项目过大在第一次clone代码时速度较慢,不过在集成构建部署均时可以通过脚本配置成增量发布的方式,尽量降低对发布速度的影响。

  • 教程 各技术社区和论坛都有大量优质的中文教程,为了了解更多细节此处推荐官方文档教程

当然不是所有的项目都需要使用lerna之类的管理工具。不过作为技术人员有必要尽量多了解一些大神们使用的工具,解决方案等。当随着业务发展或者其他原因导致面临技术重构时,这些积累和储备在一定程度上可以开拓思路有备无患。

关键词

lerna monorepo management

发散问题

  • 目前项目中有没有采用类似的包管理方案。如果有的话,有哪些好的和不好的地方。没有的话,是否有考虑一些适用于当前的项目优化方案。

以上问题,平时在工作中有了解或者有最佳实践的同学也可以不吝分享一起提高