一、npx简介
npx是什么呢?它是与npm配套使用的一款工具,通常用于临时安装npm包并执行命令。实际上,npx并不是一款新的工具,它从npm5.2.0版本开始就内置在npm中了。
我们常用的npm命令需要全局安装,再使用命令,例如:
npm install -g create-react-app
create-react-app my-app
这样做的话会将create-react-app模块全局安装到我们的系统中,随着我们迭代版本,安装包数量会越来越多,会耗费系统的存储空间,删除包时会比较麻烦。这时候,就需要npx上场了。
二、npx的使用场景
npx最大的优势就是可以省去全局安装的步骤,直接使用npx命令执行项目所需的依赖包。比如,在我们新建一个React项目时,通常需要执行create-react-app命令。我们可以使用npx来代替全局安装create-react-app,例如:
npx create-react-app my-app
cd my-app
npm start
执行完这段命令后,npx会自动寻找create-react-app模块,如果本地找不到,会在npm仓库中在线下载最新版本。但是相比于全局安装,每次执行 npx 命令都会检查模块是否有更新并自动安装最新版本,所以需要一些时间进行检查安装,执行完命令后,模块文件会被删除。
同时,npx也可以直接执行本地安装的包,例如:
npx webpack
该命令会在当前目录下寻找webpack模块并执行。npx会先检查node_modules/.bin/目录下是否有webpack命令,如果没有则会去全局找,或者自动下载最新版本进行执行。
三、npx其他功能
除了上述使用场景外,npx还有一些其他的特性:
1.执行 GitHub 上项目的特定版本:
npx github:username/repo#commit-or-branch或npx github:username/repo@version等命令可以在不克隆代码的情况下执行 GitHub 仓库上项目特定版本的脚本。
2.执行本地命令行工具:
npx可以直接执行系统内安装好的CLI工具,例如:
npx open-cli ./README.md
该命令会执行open-cli的README.md文件。
四、总结
本文结合实际开发情况,详细介绍了npx的用法及其特性。相对于全局安装的方式,npx可以避免安装包对系统的破坏,并保持模块依赖性的版本控制。使用npx,我们可以更加方便地管理和执行命令,提升开发效率。