npx是npm的一个伴生命令,在npm5.2以上已经内置,可以直接使用,其它版本需要安装使用。
npx的主要功能是让我们可以在命令行管理操作npm依赖。
npx的执行顺序机制是首先会自动检查当前项目中的可执行依赖文件(即./node_modules/.bin下面的可用依赖),如果不存在就会去环境变量path中寻找,如果还没有就会自动安装,其安装的依赖位于node安装目录中的node_cache/_npx之中,所以安装的依赖只是临时的。
它有如下几点用途:
一:可以在命令行中直接执行项目中安装的依赖
比如要在命令行中使用webpack npm install webpack -s-d
不使用npx的情况下可以有两种方式:
第一种:根据路径来执行webpack的脚本:
./node_modules/.bin/webpack
第二种:使用 npm-run-script 的方式,在package.json的script字段里面执行操作:
首先在script字段定义命令
"script": {"webpack": "webpack"}
然后在命令行执行 npm run webpack
而使用npx就方便多了,可以直接这样:
npx webpack
二:可以一次性安装临时使用某个依赖
比如我们只是想要一次性使用babel-cli来编译代码,并不想要在项目中安装它
npx babel-cli test.js --presets=es2015,stage2