pnpm - 速度快、节省磁盘空间的软件包管理器

pnpm - 速度快、节省磁盘空间的软件包管理器

官网地址

https://www.pnpm.cn/

功能介绍

当使用 npm 时,如果你有 100 个项目,并且所有项目都有一个相同的依赖包,那么, 你在硬盘上就需要保存 100 份该相同依赖包的副本。然而,如果是使用 pnpm,依赖包将被 存放在一个统一的位置,因此:

  1. 如果你对同一依赖包需要使用不同的版本,则仅有 版本之间不同的文件会被存储起来。例如,如果某个依赖包包含 100 个文件,其发布了一个新 版本,并且新版本中只有一个文件有修改,则 pnpm update 只需要添加一个 新文件到存储中,而不会因为一个文件的修改而保存依赖包的 所有文件。
  2. 所有文件都保存在硬盘上的统一的位置。当安装软件包时, 其包含的所有文件都会硬链接自此位置,而不会占用 额外的硬盘空间。这让你可以在项目之间方便地共享相同版本的 依赖包。

最终结果就是以项目和依赖包的比例来看,你节省了大量的硬盘空间, 并且安装速度也大大提高了!

npm安装pnpm

npm install -g pnpm

使用pnpm安装依赖

pnpm install

8558467.jpg

安装过程中的截图,安装速度非常快

目录结构如下

8558467.jpg

然后删掉 node_module 包,使用 npm 安装一下,查看目录结构

8558467.jpg

可以清晰的对比出使用 pnpm 所下载的依赖结构更为清晰

使用 pnpm 启动项目

pnpm dev

省略了中间 run

更多命令查看:

https://www.pnpm.cn/cli/add

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
pnpm-workspace 是 pnpm管理器的一个功能,它允许你在一个项目中管理多个子包。了解了这一点后,我们可以根据引用内容来回答你的问题。 要启用 pnpm 的 workspace 功能,需要在工程根目录下创建一个名为 pnpm-workspace.yaml 的配置文件,并且在其中指定工作空间的目录。在你提供的示例中,这个文件内容如下:packages: - 'packages/*'。这表示你的项目的子包都放在名为 packages 的目录下。 在使用 pnpm 的 workspace 功能时,当你运行 pnpm publish 命令时,会自动将 package.json 中的 workspace 字段修正为对应的版本号。这样可以确保子包之间的依赖关系正确。 为了说明这一过程,让我们来看一下你提供的项目结构示例: /pnpm_workspace ├── package.json ├── packages │ ├── add-one │ │ ├── index.js │ │ ├── package.json │ │ └── test.test.js │ ├── add-two │ │ ├── index.js │ │ ├── package.json │ │ └── test.test.js │ └── adder │ ├── index.js │ └── package.json ├── pnpm-lock.yaml └── pnpm-workspace.yaml 现在,让我们通过一系列步骤来构建这样一个项目: 1. 首先,创建一个名为 pnpm_workspace 的文件夹,并进入该文件夹。 2. 在该文件夹中运行 pnpm init -y 命令,以初始化根目录的项目。 3. 创建一个名为 pnpm-workspace.yaml 的文件,并在其中添加 packages: - 'packages/*' 的内容,以指定工作空间的目录。 4. 在 packages 目录下创建三个子包(add-one、add-two 和 adder),并分别初始化它们的 package.json 文件。 5. 在 adder 子包中,通过运行 pnpm add add-one --workspace 和 pnpm add add-two --workspace 命令,将 add-one 和 add-two 子包添加为 adder 的依赖。 通过以上步骤,你已经成功构建了一个具有 pnpm 的 workspace 功能的项目。 请注意,以上过程只是一个示例,你可以根据实际需要进行相应的调整和修改。希望这个回答对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值