npx 主要有两个作用
作用 1:调用项目安装的模块
如果要在命令行中调用 node_modules
中的模块,使用 npx 之前,你需要
1 | # 项目的根目录下执行 |
使用 npx 之后,你只需
1 | npx mocha --version |
其原理是运行的时候,会到 node_modules/.bin 路径和环境变量 $PATH 里面,检查命令是否存在。
由于 npx 会检查环境变量$PATH,所以系统命令也可以调用
如
1 | npx ls |
注意,Bash 内置的命令不在 $PATH 中,所以 npx cd 无效
作用 2:避免全局安装模块
如开发 react-native 时使用的 pod-install
1 | npx pod-install |
虽然我本机没有安装 pod-install 模块,但是使用 npx 可以直接运行,其原理是先把该模块下载到临时目录,使用以后再删除
小技巧:临时切换 node 版本
1 | npx node@0.12.8 -v |
小技巧:执行 Github 源码
1 | # 执行 Gist 代码 |