Angular中使用PNPM/Yarn保管理器

2021-10-13  本文已影响0人  czfadmin

默认使用Angular中的cli创建项目时,安装依赖一般使用npm,同时我们呢可以使用下面的命令跳过安装依赖后续使用yarn/pnpm安装依赖或者插件

当使用 npm 或 Yarn 时,如果你有100个项目使用了某个依赖,就会有100份该依赖的副本保存在硬盘上。 对于 pnpm ,依赖项将存储在一个内容可寻址的仓库中,因此:

  1. 如果你用到了某依赖项的不同版本,那么只会将有差异的文件添加到仓库。 例如,如果它有100个文件,而新版本只改变了其中1个文件。那么 pnpm update 只会向存储中心添加1个新文件,不会仅仅因为单一的改变而克隆整个依赖。
  2. 所有文件都会存储在硬盘上的同一位置。 当多个包(package)被安装时,所有文件都会从同一位置创建硬链接,不会占用额外的磁盘空间。 这允许你跨项目地共享同一版本的依赖。
    最终你节省了大量与项目和依赖成比例的硬盘空间,并且拥有更快的安装速度!

创建非扁平化的 node_modules 文件夹

当使用 npm 安装依赖时,所有的依赖都会被提升到模块的根目录。 因此,项目可以访问到未被添加进 当前 项目的依赖。
pnpm 使用软链的方式将项目的直接依赖添加进模块文件夹的根目录。 如果你想了解 pnpm 关于 node_modules 结构设计的更多细节,以及为什么它在 Node.js 生态成为了后起之秀,请参考: pnpm

ng new test-pnpm --skip-install
// use yarn 
yarn install
// use npm
npm install
// use pnpm
pnpm install

但是我们可以使用下面的命令替换掉ng add 插件时使用的保管理器

ng config cli.packageManager pnpm
//默认设置为yarn
ng config cli.paclageManager yarn

此时后续安装依赖都是使用pnpm/yarn 安装而不是默认的npm安装.


image.png
上一篇 下一篇

猜你喜欢

热点阅读