npx是什么?看了好多帖子都没看懂模糊不清晰,下面我自己总结几个点
一、npx是npm5.2之后发布的一个命令。
二、npx是为了解决什么?
场景:项目中(项目内部,不是全局)安装了测试工具Mocha,我想在项目中调用 Mocha ,怎么调用?
之前解决办法:只能在项目脚本和 package.json 的scripts字段里面, 如果想在命令行下调用,只能像下面这样调用
./node_modules/.bin/mocha -v
看到这里,是不是感觉调用很麻烦?所以出现了npx,让项目内部安装的模块用起来更方便,只要像下面这样调用就行了
$ npx mocha -v
三、npx 的原理是什么?
npx
会自动查找当前依赖包中的可执行文件,如果找不到,就会去 PATH
里找。如果依然找不到,就会帮你安装!
PS:
1.使用create-react-app
创建一个react项目。
老方法:
npm install -g create-react-app
create-react-app my-app
npx方式:
npx create-react-app my-app
这条命令会临时安装 create-react-app
包,命令完成后create-react-app
会删掉,不会出现在 global 中。下次再执行,还是会重新临时安装。
2.npx 甚至支持运行远程仓库的可执行文件:
npx github:piuccio/cowsay hello
3.指定node版本来运行npm scripts
:
npx -p node@8 npm run build