npx 是一个 Node.js 包执行工具,是 npm(Node 包管理器)的一部分。它的设计目的是简化执行来自 npm 包的可执行文件,无需全局安装这些包。npx 从 npm 5.2.0 版本开始包含在 npm 中。
npx 的主要功能和优势包括:
- 即时执行:允许用户运行 npm 包中的可执行文件,而无需先安装它们。这对于一次性使用的工具特别有用。例如,
npx create-react-app my-app
会立即运行create-react-app
,然后创建一个新的 React 应用。 - 版本控制:可以指定要运行的特定版本的包,避免了全局安装版本冲突的问题。例如,
npx eslint@5.16.0
会使用 5.16.0 版本的 eslint 进行代码检查。 - 本地执行:在当前项目的
node_modules/.bin
目录中查找并执行脚本。这意味着可以确保使用项目本地安装的依赖包,而不是全局安装的版本。 - 避免污染全局环境:无需全局安装 npm 包,从而避免了全局命名空间的污染和版本冲突问题。
- 简化命令行工具使用:很多命令行工具需要全局安装才能使用,而 npx 则可以直接运行这些工具。例如,
npx tsc
可以直接运行 TypeScript 编译器。
总之,npx 提供了一种更方便和灵活的方式来使用和管理 Node.js 包中的可执行文件,对于开发者来说是一个非常实用的工具。