Wireit 使用教程
1. 项目介绍
Wireit 是一个开源项目,旨在升级你的 npm/pnpm/yarn 脚本,使其更智能和高效。Wireit 通过最小化的方式扩展 npm,以实现脚本依赖和增量构建。它支持通过 GitHub Actions 直接缓存构建工件和测试结果,无需额外的第三方服务。Wireit 的设计理念是让你继续使用熟悉的 npm 命令,如 npm run build
和 npm test
,而无需学习新的命令行工具。
2. 项目快速启动
安装 Wireit
首先,确保你已经安装了 Node.js 和 npm。然后,通过 npm 安装 Wireit:
npm install wireit
配置 Wireit
在你的 package.json
文件中,配置 Wireit 脚本。例如,假设你有一个 build
脚本:
{
"scripts": {
"build": "wireit"
},
"wireit": {
"build": {
"command": "tsc",
"dependencies": []
}
}
}
运行 Wireit 脚本
使用熟悉的 npm 命令运行 Wireit 脚本:
npm run build
3. 应用案例和最佳实践
案例1:增量构建
Wireit 支持增量构建,这意味着只有在依赖项发生变化时,才会重新运行脚本。例如,假设你有一个 build
脚本依赖于 lint
脚本:
{
"scripts": {
"lint": "wireit",
"build": "wireit"
},
"wireit": {
"lint": {
"command": "eslint src"
},
"build": {
"command": "tsc",
"dependencies": ["lint"]
}
}
}
案例2:并行执行
Wireit 可以并行执行多个脚本,以提高构建速度。例如,假设你有两个独立的脚本 build
和 test
,它们可以并行运行:
{
"scripts": {
"build": "wireit",
"test": "wireit"
},
"wireit": {
"build": {
"command": "tsc"
},
"test": {
"command": "jest"
}
}
}
4. 典型生态项目
Wireit 与其他一些优秀的工具共享许多功能,以下是一些相关的生态项目:
- Nx: 一个用于构建和测试 JavaScript/TypeScript 项目的工具。
- Turborepo: 一个用于管理 monorepo 的工具。
- Chomp: 一个用于构建和测试 JavaScript/TypeScript 项目的工具。
- Bazel: 一个用于构建和测试多种语言项目的工具。
这些工具与 Wireit 结合使用,可以进一步提升项目的构建和测试效率。