您可能会通过与其他开发人员的讨论,阅读博客文章,观看视频或参加开发人员会议来遇到PNPM。您可能已经听到了它的赞美:它很快,磁盘空间有效,非常适合monorepos。
但是,您可能想知道:谁实际使用PNPM?
越来越受欢迎
在撰写本文时,PNPM在GitHub上具有超过24K的恒星,并且该数字正在迅速增加。 PNPM Twitter帐户维护一个跟踪恒星数量的线程。每次GitHub存储库获得1K星星时,都会发布一条新的推文。现在已经有一段时间了,它已经每两个月增长1k。
它日益普及的另一个指标是其下载次数。如果您转到NPM统计数据,您可以看到与NPM和YARN相比,该数字的演变。
我相信这个图为自己说话。
哪些公司正在使用PNPM?
使用PNPM的PNPM文档上有一个页面。
您还可以在StackShare网站上查看其他一些公司(但似乎没有多少公司花时间填写他们在堆栈中使用PNPM的事实)。
哪些流行的开源项目正在使用PNPM?
如果您在github存储库中看到pnpm-lock.yaml或pnpm-workspace.yaml文件,则该项目确定使用pnpm来管理其依赖关系。您可以使用此技术通过使用github代码搜索查询PNPM来查找GitHub项目。
我认为探索哪些软件包经理在流行的JavaScript框架项目的开发中会很有趣。你猜怎么着?许多JavaScript框架是使用PNPMð。
开发的ð¡要检查这些项目是否正在使用pnpm,我不仅验证了PNPM特定文件的存在,还检查了他们的连续集成管道(包含在.github文件夹中),以查看他们用来管理他们的管理依赖项。
这是一个流行的JavaScript Web框架的非排量列表,该框架使用PNPM作为软件包管理器:
- Nuxt
- Next.js
- Sveltekit
- Solididart
- Astro
- Qwik
这是一个令人印象深刻的列表:大多数现代的JavaScript Web框架似乎都选择了PNPM。流行的前端工具项目(如Vite或Turbo)也是如此。
d。维护者使用PNPM用于这些框架的内部开发的事实并不意味着这些框架只能与PNPM一起使用。通常,JavaScript框架是“软件包管理器”不可知论者,允许您在使用其中一个框架开发项目时使用首选的软件包管理器。
您应该因为其他人而使用pnpm吗?
简短答案:否。
仅根据其受欢迎程度选择一项技术是不建议的。尽管受欢迎程度是要考虑的因素,但它不应该是唯一的决定方面。因此,您不应使用PNPM,因为众所周知的公司或流行的开源项目使用它。
但是(这是长答案ð),您应该考虑探索PNPM,因为必须有一个原因,为什么所有这些聪明人都在NPM或YARN上选择了它。调查PNPM为他们解决的问题;也许您在项目中面临类似的挑战。看看PNPM为他们解决了哪些问题,也许您在项目中遇到了同样的问题。您甚至可能都不知道某些问题(例如,由于耗时的软件包安装,节点模块占用的过多空间或吊装节点模块的问题),但是PNPM可能会使某些事情更容易。但是,如果您对当前的软件包管理器感到满意,则无需切换即可模仿流行的框架项目。
我相信人们对NPM很熟悉,因为它是node.js项目的默认软件包管理器。他们可能还知道纱线,因为它最初是由Facebook开发的(谁创建了React),并解决了NPM的一些问题。但是,人们由于其性能和解决NPM软件包管理遇到的问题的能力而识别和使用PNPM。这也是为什么我使用PNPM的原因;它可以完成工作,并且很快就能完成。
现在,您知道自己并不孤单地使用PNPM;从著名的公司到流行的开源项目,许多人都在利用它。