这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天
前言:做组件库项目的时候遇到项目结构,看了一下pnpm,特来记录一下
pnpm是什么
pnpm跟npm、yarn、cnpm一样,也是一个打包工具。
pnpm与其它包管理工具有什么不一样?
但后者有一个极大的缺陷。 如果你有多个项目,并且所有项目都有一个相同的依赖包,那么,你在硬盘上就需要保存多份该相同依赖包的副本。然而,如果是使用pnpm,依赖包将被存放在一个统计的位置。因此:
- 如果你对同一依赖包需要使用不同的版本,则仅有版本之间不同的文件会被存储起来。例如,如果某个依赖包包含100个文件,其发布了一个新版本,并且新版本只有一个文件有修改,则 pnpm update只需要添加一个新文件到存储中,而不会因为一个文件的修改而保存依赖包的所有文件
- 所有文件都保存在硬盘上的统一的位置。当安装软件包时,其包含的所有文件都会硬链接自此位置,而不会占用额外的硬盘空间。着让你可以在项目之间方便地共享相同版本的依赖包
最终结果就是以项目和依赖包的比例来看,你节省了大量的硬盘空间,并且按照速度也大大提高了。 这里说到的硬链接和还有一个软连接是什么呢?
硬链接
硬链接就是,比如有一个物理区域adress,此时有一个文件A指向这个adress,创建一个硬链接就是,让新建立的文件也指向这个adress。 window可以通过一下方法创建硬链接 cmd状态下 mklink /H newFile target
软连接
软连接就是,比如有一个物理区域adress,此时有一个文件A指向这个adress,创建一个软连接,就是新建立的文件指向这个文件A,访问这个新建立的文件,实际上是访问这个文件A。 我们常用的快捷方式就是软连接 window可以通过一下方法创建硬链接 cmd状态下 mklink /H newFile target