声明依赖版本和真实依赖版本
声明依赖版本
对于 package.json 的 dependencies 中依赖版本,会出现如 ~、^、*、<= 等表示安装依赖版本范围的符号,我们把这种带符号的版本称为声明依赖版本。
真实依赖版本
在项目初次安装 npm 包的时候,根据声明依赖版本匹配到最新版本进行安装。
对于 npm 类的包管理器,采用扁平化的方式下载依赖,根据下载顺序的不同会影响到真实安装依赖的版本的选择。
对于 pnpm 类的包管理器,采用软链接的形式连接各个依赖,真实下载依赖版本同样受安装顺序的影响。
故为了避免项目每次重新安装版本不同,初次安装后生成 lock 文件,当存在 lock 文件时会匹配 lock 文件里的版本。
我们把这种真实安装到本地的依赖版本称为真实依赖版本。
DepSpy 中,我们默认展示声明依赖版本,当我们 hover 到树状渲染区的节点时,会显示出真实依赖版本,或者直接在侧边栏查看 MODULE 中的版本信息。