Fork me on GitHub

npx是什么

npx 是 npm5.2.0 版本上出现的一个新命令,主要是为了解决之前的一些痛点。

举例来说:
webpack 可能我们之前一般都是这么用

1
2
npm install -g webpack
webpack -v

这么做的坏处就是会将该包安装到全局环境,可能有些人不希望它安装到全局,那么就需要这样

1
2
npm install webpack
./node_modules/.bin/webpack -v

显而易见,这样做也有一个缺点,因为局部安装不会把命令注册到全局环境,所以我们使用它的时候需要手动指定命令路径

npx 便是为了解决这一痛点而生

1
npx webpack -v

首先它会检测全局是否安装了 webpack 这个包,如果有便会直接用全局的,
如果没有,它便会在本地 node_modules 文件夹中安装这个包,然后调用 ./node_modules/.bin 里面的命令,
值得一提的是它并不会在 package.json 文件的 dependenciesdevDependencies 字段中写入任何信息