Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。
$ npm install -g npx
1️⃣ 解决的问题
2️⃣ 在命令行执行本地已安装的依赖包命令
使用npx可以在命令行直接执行本地已安装的依赖包命令,不用在scripts脚本写入命令,也不用麻烦的去找本地脚本。
2️⃣ 不用全局安装,直接在命令行执行一次性命令
有很多命令,我们只需要执行一次的,但是却要全局安装一次,实在不科学,使用npx,可以在不全局安装依赖包的情况下,运行命令,而且运行后不会污染全局环境
npx create-react-app my-react-app
- npx 将create-react-app下载到一个临时目录,使用以后再删除。
- 每次运行这个命令,都会重新下载依赖包,运行后删除。
2️⃣ 切换node版本来运行命令
当你想要运行的命令不兼容当前的nodejs版本,可以通过npx来切换版本,指定某个版本的 Node 来运行命令。
npx的-p选项指定要安装的包,并将其添加到正在运行的$PATH中
npx node@6 -v
npx node@7 -v
npx node@8 -v
以上的命令,会自动下载需要的node,执行完命令后删除。
1️⃣ npx的原理
- npx的原理,就是在运行它时,执行下列流程:
- 去
**node_modules/.bin**
路径检查npx后的命令是否存在,找到之后执行; - 找不到,就去环境变量
**$PATH**
里面,检查npx后的命令是否存在,找到之后执行; - 还是找不到,自动下载一个临时的依赖包最新版本在一个临时目录,然后再运行命令,运行完之后删除,不污染全局环境。
- 去