文章插图
PNPM 的核心思想是在整个项目内共享依赖项,而不是每个项目都拥有自己的依赖项副本 。
这是官方文档提供的原理图:
文章插图
可以看到有个公共的依赖包安装池,然后通过软链接引入到各个项目所需要的依赖中,这样就减少了幽灵依赖、依赖嵌套和重复下载的问题 。
PNPM的优点如下:
节省磁盘空间:pnpm采用链接的方式将依赖项共享到全局store中,避免了每个项目都需要拷贝一份依赖包的问题,从而显著减少了磁盘占用空间 。
提升安装速度:pnpm不需要每次都下载相同的依赖项,而是从全局store中直接链接到各个项目中,因此可以极大地提高安装速度 。
避免了幽灵依赖、重复依赖和依赖嵌套:pnpm采用链接的方式,避免了项目之间依赖相同包不一致的问题,同时避免了重复安装相同版本的依赖项和依赖嵌套的问题 。
支持多种包引用方式:pnpm支持路径引用和git仓库引用,可以更加灵活地管理依赖项 。
天生支持monorepo管理:得益于pnpm的软链接特性,可以在同一个workspace下共享依赖和模块等 。
另外,对于存储大量依赖的情况,pnpm提供了「pnpm store prune」命令,可以定期清理不再使用的依赖项,释放磁盘空间 。
参考文章
- 关于现代包管理器的深度思考——为什么现在我更推荐 pnpm 而不是 npm/yarn?
- pnpm 是凭什么对 npm 和 yarn 降维打击的
- 现代前端工程为什么越来越离不开 Monorepo?
- 现代前端工程为什么越来越离不开 Monorepo?
- 为什么越来越多的项目选择 Monorepo?
- pnpm官方文档
文章插图
学而知不足,水平有限,还望诸君多多指教 。觉得文章不错的读者,不妨点个关注,收藏起来上班摸鱼的时候品尝 。
推荐阅读
- 关于加班的十大问题了解一下!
- 杨幂|2天7个瓜!天王两天输1亿,摸大腿,出轨被抓包,养“干儿子”
- 赵丽颖|曝三字离异女星婚内出轨,被前夫当场抓包,赵丽颖躺枪真假难测!
- |蒋雯丽包养风波升级!被曝送干儿子两套房,牵扯出不少男明星
- 柯南|曝三字离异女星婚内出轨,被前夫当场抓包
- 甘比|甘比晒小女儿视觉照,身着黑西装干练有范儿,手上包包价值250万
- 景甜|景甜私密照风波后露面,包裹严实只露脖子,曾自称:紧张不敢出门
- 隐婚|包养干儿子、隐婚生子、否认移民,娱乐圈好生猛,一天7个大瓜
- 汤唯|曝三字离异女星婚内出轨,被前夫当场抓包,引发热议
- 赵丽颖|曝三字离异女星婚内出轨,被前夫当场抓包,赵丽颖躺枪真假难测