npx的使用
npx的使用
npm在5.2版本之后添加了npx命令。
npx的工作原理:
- 去
node_modules/.bin目录查找命令是否存在。找到之后执行 - 如果在
bin目录下找不到命令,那么就会去$path里查找命令,找到后执行 - 如果都找不到,那么就会创建一个临时的文件下载所需要的的依赖包,使用完成后删除,不污染全局环境
安装npx
-
先检查一下自己的电脑上是否有
npx(直接使用npx命令也会自动全局安装)。 -
如果没有,打卡cmd全局安装
npxnpm install -g npx
使用npx
-
npx主要是为了解决调用项目内部安装的模块,例如:$ npm install -D mocha -
但是调用的时候我们只能通过项目脚本和
pacage.json文件调用:# 项目根目录下 $ node-modules/.bin/mocha --version -
但是
npx调用就很方便$ npx mocha --version -
调用系统命令
# 等同于ls $ npx ls注意,Bash 内置的命令不在
$PATH里面,所以不能用。比如,cd是 Bash 命令,因此就不能用npx cd。 -
临时安装
$ npx create-react-app packageName会将
create-react-app下载到一个临时目录,使用过后再进行删除。 -
下载时允许指定版本。
$ npx uglify-js@3.1.0 main.js -o ./dist/main.js指定3.1.0版本的
uglify-js版本。注意,只要 npx 后面的模块无法在本地发现,就会下载同名模块。比如,本地没有安装
http-server模块,下面的命令会自动下载该模块,在当前目录启动一个 Web 服务。$ npx http-server -
--no-install参数和--ignore-existing参数-
如果想强制
npx使用本地依赖不下载远程依赖。就是用--no-install,如果本地没有依赖包的话,就会报错$ npx --no-install http-server -
相反,想跳过本地依赖使用远程安装就是用参数
--ignore-existing.$ npx --ignore-existing create-react-app packageName
-
指令
-
-p参数-p参数用于指定npx所要安装的模块:$ npx -p node@0.12.8 node -v # v 0.12.8 -
-c参数-.- 表示没看懂,也觉得不常用,不写了

浙公网安备 33010602011771号