前端工程化工具系列(七)—— PNPM(v9.1.4):高性能的 NPM 替代品

PNPM(Performant NPM)是一个高效的 NPM 包管理器,它使用硬链接和符号链接来减少磁盘空间的使用,并提高了安装速度。

1. 环境要求

v9 的 PNPM 需要 Node.js v18+。

2. 安装

npm i -g pnpm

3 基本功能

3.1 安装包

  1. 安装单个包,可以使用以下两种方式:
pnpm add 包名
pnpm i 包名

i 是 install 的简写

  1. 安装项目中所有依赖
pnpm i

3.2 移除包

pnpm remove 包名

4 高级功能

4.1 管理 Node.js 版本(替代 nvm 或者 n )

  1. 使用最新版本,如没有则自动安装。
pnpm env use --global lts
  1. 使用特定版本,如没有则自动安装
pnpm env use --global 18
  1. 安装版本(以下为安装最新版本以及 18 版本)
pnpm env add --global lts 18
  1. 卸载版本
pnpm env remove --global 18

4.2 更新依赖项(替代 npm-check-updates)

根据指定的范围将程序包更新到其最新版本。如: ^6.3.1 可以更新到 ^6.5.1。

pnpm up

up 是 update 的简写

4.3 执行脚本

  1. 执行 package.json 中的脚本:
pnpm run 脚本名称
  1. 在项目范围内执行命令
    当该命令没有全局安装,只在此项目下安装,则使用以下命令(类似 NPM 中的 npx):
pnpm exec 某个命令,如:eslint
  1. 临时下载的软件包运行可执行命令(类似 NPM 中的 npx)
pnpm dlx 命令,如:create-react-app ./my-app

4.4 Monorepo支持(替代 Lerna)

在项目根目录下创建 pnpm-workspace.yaml,以下内容按需填写。

packages:# 目录中的所有软件包/- 'packages/*'# 组件子目录中的所有软件包/- 'components/**'# 排除测试目录内的软件包- '!**/test/**'
  1. 安装本地的某个子包作为依赖,下方前者是需要在某个包下进行安装,后者是要安装的包名
pnpm --filter "./packages/**" add "./packages/**"
  1. 所有子包批量发布
pnpm -r publish

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【postgresql初级使用】触发器的创建删除,你不知道的触发器函数中的系统变量,数据一致性还可以这样来保证

使用触发器 ​专栏内容: postgresql使用入门基础手写数据库toadb并发编程 个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 文章目录 使用触发器概…

Redis之常用实战场景

1.Redis数据丢失场景 1.1 持久化丢失 采用RDB或者不持久化,就会有数据丢失,因为是手动或者配置以快照的形式来进行备份。 解决: 启用AOF,以命令追加的形式进行备份,但是默认也会有1s丢失,这是在性能与数据安全性中寻…

K-means聚类模型算法

K-means聚类是一种无监督的机器学习算法,用于将数据点划分到K个不同的簇中。这种算法的目标是最小化簇内的方差,即使得每个簇内的数据点与簇中心的距离尽可能小。以下是K-means聚类模型的主要步骤和特点: 主要步骤: 1. 选择K值&…

深入解析Spring Cloud Config:构建高可用分布式配置中心

在微服务架构中,配置管理是一个关键问题。Spring Cloud Config提供了一种解决方案,它是一个高可用、分布式的外部配置中心。本文将深入探讨Spring Cloud Config的原理、架构及其在实际项目中的应用,帮助读者掌握如何构建一个高效、可靠的分布…

SD NAND(贴片式TF卡)在储能领域的应用

储能系统(Energy Storage System,简称ESS)是指能将电能以化学能、势能、动能等形式储存起来,并在需要时将其转化为电能供应给用户的设备。主要由电池管理系统(BMS)、能量管理系统(EMS&#xff0…

拿到Offer了才知道,这家公司年终奖只有几百块~

我也挠头了 最近又有不少粉丝上岸了,其中一位分享的事情比较有意思,和你分享一下: 以后你对比Offer的时候也可以多个经验。 事情是这样的: 他在经过2个多月空窗期之后终于拿到了Offer,月薪涨幅不大,但是…

java的clone

一、clone的用法: package chatRoom.F5;class Person implements Cloneable{//1.public String name;public Person(String name) {this.name name;}//2.protected Person clone() throws CloneNotSupportedException {return (Person)super.clone();//重写Object…

linux脚本执行报错|syntax error near unexpected token `$‘do\r‘‘

一、问题 在Window上用记事本txt写了个linux脚本,放到Linux上去执行报错|syntax error near unexpected token $‘do\r‘‘ 二、可通过vim的-b命令查询脚本(-b表示二进制模式) vim -b youtest.sh 发现,sh脚本后面多了^M 三、…

媒体有入口,发稿有入口 是什么意思?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体有入口,发稿有入口是指在新闻媒体发稿时,稿件可以通过一定的路径被访问和浏览。具体来说,有入口的新闻稿件可以通过点击链接,逐步深入…

芯片验证分享1 —— 开篇及名词解释

大家好,我是谷公子的藏经阁,今天和大家很高兴能和大家分享的是芯片验证中的一些内容,希望对大家的日常工作有所帮助,如果这些内容有帮助到大家的话,那么此次的分享就很值得。另外,对于这个课题,…

揭开旅游卡项目!是当下趋势风潮?来这给你整明白!

旅游卡作为一种旅游产品,近年来在市场上逐渐流行起来。它通常包含一系列旅游服务,如门票、住宿、餐饮、交通等,旨在为消费者提供一站式的旅游体验。在您所描述的案例中,云南6天五晚游旅游卡以极低的价格吸引消费者,并通…

ChatTTS增强版,增强音质、批量处理、固定音色、支持长文本

大家好,最近ChatTTS文字生成语音项目挺火。只需要输入一段文字,就可以生成一段非常逼真的声音。声音的效果非常不错。它支持英文和中文两种语言。我在原版的基础上做了一些改动,整合包分享给大家。 功能介绍 除了基础的文本生成音频功能以外…

实验10 RIP协议配置

实验10 RIP协议配置 一、原理描述二、RIPv1配置(一)实验目的(二)实验内容(三)实验配置(四)实验步骤 三、 RIPv2配置(一)实验目的(二)实…

IT闲谈——什么是容器?

目录 什么是容器一、容器的起源与发展二、目前使用较多的容器三、容器能用来做什么四、容器的应用场景 什么是容器 随着云计算和微服务的兴起,容器技术逐渐成为IT行业的热门话题。容器,简而言之,是一种轻量级的、可移植的、独立的软件包&…

windows 使用脚本 批量将一个文件夹下面 子文件夹下的视频文件拷贝到另一个文件下

如果想要在Windows上使用脚本(比如批处理脚本 .bat)来复制指定文件夹下所有子文件夹中的视频文件到另一个目标文件夹,可以使用以下的批处理脚本示例: echo off setlocal enabledelayedexpansion :: 设置源文件夹和目标文件夹的…

职称继续教育--专业课6

单选题(共20题,每题1.5分) 1、新型城镇化改革试点的总体要求是:以人的城镇化为核心,以()为关键,大胆探索,试点先行。 A、提升质量 2、根据本讲,建设和管理城…

cesium 之 flyTo、setView、lookat

orientation配置项的参数 cesium中,朝向orientation,通常使用heading、pitch、roll这三个参数来描述 heading 通过调整heading的值,使相机朝向特定的方向朝向方向说明【北:0, 东:π/2弧度, …

Keras深度学习框架实战(6):使用CNN-RNN架构实现视频分类

1、绪论 1.1 CNN-RNN概述 1.1.1 结构组成 CNN-RNN架构结合了卷积神经网络(CNN)和循环神经网络(RNN)两种不同类型的神经网络结构。 卷积神经网络(CNN): 主要用于处理具有网格状拓扑结构的数据…

VLM学习笔记

目录 基础VLM模型CLIP CLIP (Contrastive Language-Image Pre-training) clip的再训练 CLIP-Chinese 轻量化VLM探索:MobileVLM V2 怎么预训练VLMs? TurboMind LLM推理引擎 基础VLM模型CLIP CLIP (Contrastive Language-Image Pre-training) 基本…

【Python】轻松打包:CentOS7上使用PyInstaller将Shell脚本转换为可执行文件的完美指南

【Python】轻松打包:CentOS7上使用PyInstaller将Shell脚本转换为可执行文件的完美指南 大家好 我是寸铁👊 总结了一篇【Python】轻松打包:CentOS7上使用PyInstaller将Shell脚本转换为可执行文件的完美指南✨ 喜欢的小伙伴可以点点关注 &#…