npx工具
使用背景
npx 是node自带的命令,在安装node作为全局变量的同时会自带npm和npx为全局变量,虽然npx使用较少但功能强大
官网文档
使用场景
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 命令