npx ,npm,cnpm,pnpm 工具的区别和使用

npx工具 

使用背景

npx 是node自带的命令,在安装node作为全局变量的同时会自带npm和npx为全局变量,虽然npx使用较少但功能强大

官网文档

npx | npm Docs

使用场景

1.  直接执行项目中node_modules  .bin 目录下的JS文件程序  做执行/检查脚本

npx   .bin目录中的js文件    

工程项目中

npn run dev 等同于 npx nuxt dev 相当于直接执行.bin中的程序

2.  当不存在node_moudle 或者 本地没有包时 需要使用这个包

如创建react项目

npx create-react-app 项目名

该代码作用等同于

npm install -g create-react-app

create-react-app   项目名

下载未安装的包,并执行

下载的包为最新版本,暂时缓存在本地,下次执行命令时会省略去下载过程,在一定时间会自动清除缓存

3. 临时执行任意包

可以远程使用包并执行,不会再本地有缓存

npx cowsay "Hello, npx!"

 

4. 使用不同版本的 node
npx node@14.15.0 -v

 命令会使用 v14.15.0 版本的 node 执行脚本。原理是从 npm 下载这个版本的 node,使用后再删掉,这个方法用来切换 node 版本,要比 nvm 那样的版本管理器方便一些。

npm工具

使用背景

早期使用CDN引入包,但不同版本的包有不同的功能,每个版本的包所对应的CDN不同

<script src='https:// xxx' />

在项目合作中控制版本非常麻烦

npm 通过版本号管理包的不同版本,package.json中管理包的版本,node_moudule安装包

 npm xxx@5.2.1    // 没有版本号安装最新版本

切换源

 由于npm服务器在国外,国内使用下载访问非常缓慢,使用国内镜像可提高速度

npm config get registry    // 查看npm当前镜像地址
npm config set registry https://registry.npmmirror.com/  // 设置npm的镜像地址

npm 官方原始镜像网址是:https://registry.npmjs.org/
淘宝 NPM 镜像:http://registry.npmmirror.com
阿里云 NPM 镜像:https://npm.aliyun.com
腾讯云 NPM 镜像:https://mirrors.cloud.tencent.com/npm/
华为云 NPM 镜像:https://mirrors.huaweicloud.com/repository/npm/
网易 NPM 镜像:https://mirrors.163.com/npm/
中国科学技术大学开源镜像站:http://mirrors.ustc.edu.cn/
清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn

缺点

效率低下,容易出错

cnpm

 在不切换源的情况下,可用cnpm提高国内访问速度

npm install -g cnpm --registry=https://registry.npmmirror.com

 cnpm 的作用相当于 npm 切换国内的源

pnpm

基于npm开发的包,效率和速度比npm更加高效,在本地占用的内存比npm更小,可用于替代npm

npm i pnpm -g

为什么更高效?

使用npm 安装依赖,无论是否引用,只要有关联都会重新全部下载,会更消耗流量

pnpm安装包后会缓存在本地,在此后再下载相同包时,会优先使用本地缓存的包,提高加载速度,节省流量

在项目执行实行时

可用pnpm dev  代替  npm run dev 命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值