先手动安装
$ npm install-g npx
npx 的原理很简单,就是运行的时候,会到node_modules/.bin路径和环境变量$PATH里面,检查命令是否存在。
由于 npx 会检查环境变量$PATH,所以系统命令也可以调用。
除了调用项目内部模块,npx 还能避免全局安装的模块。比如,create-react-app这个模块是全局安装,npx 可以运行它,而且不进行全局安装。
$ npx create-react-app
下载全局模块时,npx 允许指定版本。
$ npx uglify-js@3.1.0main.js-o./dist/main.js
如果想让 npx 强制使用本地模块,不下载远程模块,可以使用--no-install参数。如果本地不存在该模块,就会报错。
$ npx--no-install http-server
反过来,如果忽略本地的同名模块,强制安装使用远程模块,可以使用--ignore-existing参数。比如,本地已经全局安装了create-react-app,但还是想使用远程模块,就用这个参数。
$ npx--ignore-existing create-react-app my-react-app
可以指定某个版本的 Node 运行脚本
$ npx node@0.12.8-v
-p参数用于指定 npx 所要安装的模块,所以上一节的命令可以写成下面这样。
$ npx-p node@0.12.8node-v
上面命令先指定安装node@0.12.8,然后再执行node -v命令。
原文http://www.ruanyifeng.com/blog/2019/02/npx.html