pnpm绝对于npm和yarn的劣势
1.npm
和yarn
都采纳了扁平化的装包策略。如果咱们下载vue,执行npm i vue
查看node_modules
,能够看到咱们只装置了vue,node_modules
中却呈现了这么多包,这些包都是vue中用到的依赖包,那么咱们能够间接应用第三方依赖,如果有一天vue更新版本忽然不必某个咱们用到的依赖了,那么就会报错。这种状况也称之为幽灵依赖
。
应用pnpm能够看到目录是很清晰的,咱们看到的node_modules
中的vue
文件夹只是一个软链接, 它的真正存储的中央在.pnpm
文件夹中。
2.如果有10个我的项目应用npm
或者yarn
下载依赖包,那么会产生10个依赖包的正本占用磁盘。应用pnpm
会将依赖包存储到对立地位,下面看到的.pnpm
是虚拟存储目录,外面的文件是从对立地位做的硬链接,而和.pnpm
同级的vue
包是一个符号链接。
什么是符号链接
符号链接也能够称为软连贯。是一类非凡的文件, 其蕴含有一条以绝对路径或者相对路径的模式指向其它文件或者目录的援用。就是给指标文件创建一个快捷方式,能够避免一遍又一遍地复制雷同的数据。应用软链接的形式生成的文件夹指向的是源文件,能够对源文件进行读写,删除软链接文件不会对源文件产生影响。
windows零碎实操
- 1 在D盘创立文件夹
linkTest
,linkTest
里蕴含hello.txt
,内容如下 - 2 在C盘创立软链接
依据提醒进行操作
能够看到在C盘下生成了linkTest
文件,那么咱们当初批改C盘下的linkTest
文件
查看D盘下的linkTest
能够看到D盘下相应的文件也产生了变动- 3 查看一个文件是否是软链接
- 1 在D盘创立文件夹
什么是硬链接
硬链接(hard link,也称链接)就是一个文件的一个或多个文件名。再说白点,所谓链接无非是把文件名和计算机文件系统应用的节点号链接起来。因而咱们能够用多个文件名与同一个文件进行链接,这些文件名能够在同一目录或不同目录。在windows中
- 1、硬连贯实用于在同一个卷的文件级别,不容许给目录创立硬链接;
- 2、硬连贯是不能跨卷的,只有在同一文件系统中的文件之间能力创立链接
在C盘创立一个文件夹外面蕴含hello.txt文件
尝试在D盘创立硬链接
尝试给目录创立硬链接
给文件创建硬链接
文件内容如下
当我批改helloCopy之后
保留之后查看hello.txt
文件
当我删除hello文件之后
helloCopy.txt
是不会被删除的
查看.pnpm文件夹里的文件是否是硬链接
红框内的只有是几那么就证实计算机文件系统应用的节点号被创立了几次硬链接