Web 的统一工具链 运行时和包管理,create、dev、check、test、build、pack 以及 monorepo 任务缓存,全部集成在单一依赖中
Vite+ 是本地 Web 开发的统一入口。它将 Vite、Vitest、Oxlint、Oxfmt、Rolldown、tsdown 和 Vite Task 整合为一个零配置工具链,同时管理运行时和包管理器工作流:
vp env: 全局及按项目管理 Node.jsvp install: 通过自动检测包管理器来安装依赖vp dev: 运行 Vite 的快速原生 ESM 开发服务器,支持即时 HMRvp check: 通过一条命令运行格式化、代码检查和类型检查vp test: 通过内置的 Vitest 运行测试vp build: 使用 Vite + Rolldown 为生产环境构建应用程序vp run: 运行package.json脚本和 monorepo 任务,支持缓存和依赖感知调度vp pack: 构建用于 npm 发布的库或独立应用程序二进制文件vp create/vp migrate: 创建新项目并迁移现有项目
所有这些配置均从项目根目录进行,并适用于 Vite 的框架生态系统。 Vite+ 在 MIT 许可证下完全开源。
快速开始
将 Vite+ 全局安装为 vp:
对于 Linux 或 macOS:
curl -fsSL https://vite.plus | bash
对于 Windows:
irm https://viteplus.dev/install.ps1 | iex
vp 处理完整的开发生命周期,例如包管理、开发服务器、代码检查、格式化、测试以及生产环境构建。
配置 Vite+
Vite+ 可以使用项目根目录下的单个 vite.config.ts 进行配置:
import { defineConfig } from 'vite-plus';
export default defineConfig({
// Standard Vite configuration for dev/build/preview.
plugins: [],
// Vitest configuration.
test: {
include: ['src/**/*.test.ts'],
},
// Oxlint configuration.
lint: {
ignorePatterns: ['dist/**'],
},
// Oxfmt configuration.
fmt: {
semi: true,
singleQuote: true,
},
// Vite Task configuration.
run: {
tasks: {
'generate:icons': {
command: 'node scripts/generate-icons.js',
envs: ['ICON_THEME'],
},
},
},
// `vp staged` configuration.
staged: {
'*': 'vp check --fix',
},
});
这使您能够将开发服务器、构建、测试、代码检查、格式化、任务运行器以及暂存文件工作流的配置集中在一处,并支持类型安全的配置和共享默认值。
使用 vp migrate 迁移到 Vite+。它会将特定于工具的配置(如 .oxlintrc*、.oxfmtrc* 和 lint-staged 配置)合并到 vite.config.ts 中。
CLI 工作流 (vp help)
启动
- create - 从模板创建新项目
- migrate - 将现有项目迁移到 Vite+
- config - 配置钩子和代理集成
- staged - 对暂存文件运行代码检查
- install (
i) - 安装依赖项 - env - 管理 Node.js 版本
开发
- dev - 运行开发服务器
- check - 运行格式化、代码检查和类型检查
- lint - 检查代码
- fmt - 格式化代码
- test - 运行测试
执行
- run - 运行 monorepo 任务
- exec - 从本地
node_modules/.bin执行命令 - node - 使用解析后的 Vite+ 环境运行 Node.js 脚本
- dlx - 执行包二进制文件,而无需将其作为依赖项安装
- cache - 管理任务缓存
构建
- build - 为生产环境构建
- pack - 构建库
- preview - 预览生产构建
管理依赖项
Vite+ 会根据 packageManager 和锁文件自动包装您的包管理器(pnpm、npm、Yarn 或 Bun):
- add - 将包添加到依赖项
- remove (
rm,un,uninstall) - 从依赖项中移除包 - update (
up) - 将包更新到最新版本 - dedupe - 去重依赖项
- outdated - 检查过期的包
- list (
ls) - 列出已安装的包 - why (
explain) - 显示包被安装的原因 - info (
view,show) - 查看来自注册表的包元数据 - link (
ln) / unlink - 管理本地包链接 - rebuild - 重新构建原生模块
- pm - 将命令转发给包管理器
维护
- upgrade - 将
vp本身更新到最新版本 - implode - 移除
vp及所有相关数据
搭建你的第一个 Vite+ 项目
使用 vp create 创建新项目:
vp create
您可以在项目中运行 vp create 以向项目添加新的应用程序或库。
组织可以通过在其 npm 作用域下发布带有 createConfig.templates 清单的 @org/create 来公开一组精选模板,该清单位于其 package.json 中。
发布后,vp create @org 会针对这些模板打开一个交互式选择器,并且在
vite.config.ts 中设置 create: { defaultTemplate: '@org' } 会使其成为裸 vp create 的默认值。请参阅
组织模板指南
了解编写工作流程,以及
create.defaultTemplate 了解
配置参考。
迁移现有项目
您可以将现有项目迁移到 Vite+:
vp migrate
GitHub Actions
使用官方 setup-vp action 在 GitHub Actions 中安装 Vite+:
- uses: voidzero-dev/setup-vp@<setup-vp-version>
with:
node-version: '22'
cache: true
将 <setup-vp-version> 设置为 setup-vp 发布页面 上的确切版本。您也可以使用 commit SHA。请勿使用 v1 标签。v1 标签不再接收更新。
请参阅 自动版本更新 以配置 Dependabot 或 Renovate。
手动安装与迁移
如果您正在手动将项目迁移到 Vite+,请先安装以下开发依赖项:
npm install -D vite-plus @voidzero-dev/vite-plus-core@latest
你需要在包管理器中添加覆盖配置,以便其他包解析 Vite+ 版本:将 vite 别名指向 @voidzero-dev/vite-plus-core,并将 vitest 固定到 Vite+ 捆绑的版本(运行 vp --version),以便整个项目与 vp test 共享单个 Vitest 副本。如果没有 vitest 固定,依赖项或工作区包可能会拉取与捆绑运行器不同的 Vitest,从而分裂 Vitest 的内部结构(mocks、expect、运行器状态):
"overrides": {
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
"vitest": "4.1.10"
}
如果你正在使用 pnpm,请将此添加到你的 pnpm-workspace.yaml 中:
overrides:
vite: npm:@voidzero-dev/vite-plus-core@latest
vitest: 4.1.10
或者,如果你正在使用 Yarn:
"resolutions": {
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
"vitest": "4.1.10"
}
赞助商
感谢 namespace.so 为我们的 CI/CD 流水线提供快速、免费的 macOS、Linux 和 Windows 运行器。