用途
Vite+ 是 VoidZero 提供的 Web 开发统一工具链。它把开发服务器(Vite)、打包器(Rolldown)、测试运行器(Vitest)、代码检查(Oxlint)、格式化(Oxfmt)、任务运行器(Vite Task)和库打包器(tsdown)整合到一个名为 vp 的 CLI 中,并可在全局管理 Node.js 版本与包管理器,取代 nvm、fnm 或 Corepack 的需要。
主要能力
- 统一配置:所有工具配置集中在单个 vite.config.ts 中,通过 defineConfig 的 test、lint、fmt、run、pack、staged 等扩展块配置对应工具,不再需要 vitest.config.ts、.oxlintrc.json、.prettierrc 等独立文件。
- 命令统一:vp dev 与 vp build 运行标准 Vite;vp test 运行 Vitest(默认单次运行,与独立 Vitest 默认监听模式相反);vp check 用 Oxfmt、Oxlint 和 tsgolint 一次完成格式化、检查与类型检查。
- 环境管理:Vite+ 在 ~/.vite-plus 中管理 Node.js 安装。默认托管模式下 shim 始终使用 Vite+ 管理的 Node.js;可用 vp env off 切换为系统优先模式,用 vp env pin 写入 .node-version 固定项目版本。
使用方式
安装:
# macOS / Linux
curl -fsSL https://vite.plus | bash
# Windows (PowerShell)
irm https://vite.plus/ps1 | iex
项目脚手架:
vp create # 交互式创建
vp create vite -- --template react-ts # 指定模板
vp create vite:monorepo # monorepo
vp migrate # 迁移现有 Vite 项目
内置模板包括 vite:application、vite:library、vite:monorepo、vite:generator;也可使用 next-app、@tanstack/start 等第三方模板,模板选项通过 -- 之后传入。
配置示例:
import { defineConfig } from 'vite-plus';
export default defineConfig({
server: {},
build: {},
preview: {},
test: {}, // Vitest
lint: {}, // Oxlint
fmt: {}, // Oxfmt
run: {}, // Vite Task
pack: {}, // tsdown
staged: {}, // Pre-commit checks
});
常用命令:vp dev、vp build(可用 --watch --sourcemap)、vp preview;vp check(--fix 自动修复)、vp lint、vp fmt(--check 仅检查);vp test、vp test watch、vp test run --coverage;vp pack(--dts、--watch);vp run build 及其 -r(所有工作区包,按依赖顺序)、-t(包及其依赖)、--filter、-v 等选项。
Node.js 版本管理:vp env pin/default/install/current/on/off/doctor。
适用场景
- 用 vp create 创建新项目或 monorepo。
- 将现有 Vite/Vitest 项目迁移到 Vite+。
- 需要统一 lint、fmt、test、pack 配置与命令的前端项目。
- 使用 vp run -r 或工作区过滤在 monorepo 中执行任务。
- 用 vp pack(tsdown 集成)打包库,exe 选项可构建 CLI 独立可执行文件。
- 用 vp env 管理 Node.js 版本。
不适合:普通 Vite(未使用 Vite+)配置、脱离 Vite+ 包装单独使用 Vitest。
注意事项
- vp build 与 vp run build 不同:vp build 始终运行内置 Vite 构建;若 package.json 有自定义 build 脚本,应使用 vp run build,否则自定义步骤会被静默跳过。
- 与 Vite+ 同时存在独立的 Vitest/Oxlint/Oxfmt 配置文件会导致未定义行为,迁移时应删除这些独立配置。
- vp test 默认单次运行,本地开发监听需 vp test watch。
- vp migrate 不会重写工具特定 API 的 import 路径(如 vitest/config 改为 vite-plus),残留问题会在 vp check 时以类型错误暴露,迁移后可运行 vp install 再 vp check。
- 托管模式下 shim 位于 PATH 前端,可能影响预装 Node.js 的 CI 环境;可用 vp env doctor 检查解析环境,必要时用 vp env off 切换。
- 若出现 vp: command not found,需运行安装脚本并重启终端,或用 vp env print 将输出加入 shell 配置。
- 类型感知 lint 需在配置中启用 lint.options.typeAware 与 typeCheck。
限制
该技能仅在处理 Vite+、vp CLI 或 VoidZero 统一工具链时触发;未提供其他收费、价格或平台信息。