大神尤雨溪再次出手,前端工具链整合--该文章是对vite plus官方README文档进行了翻译

0 阅读4分钟

viteplus-dark.Cy6PBzfr.svg

Web 统一工具链 运行时和包管理、创建、开发、检查、测试、构建、打包以及单仓库任务缓存,全部集成在一个依赖中


Vite+ 是本地 Web 开发的统一入口。它将 ViteVitestOxlintOxfmtRolldowntsdownVite Task 整合到一个零配置工具链中,同时还管理运行时和包管理器工作流:

  • vp env 全局和按项目方式管理 Node.js
  • vp install 自动检测包管理器并安装依赖
  • vp dev 运行 Vite 的快速原生 ESM 开发服务器,支持即时热更新
  • vp check 一键运行格式化、代码检查和类型检查
  • vp test 通过内置的 Vitest 运行测试
  • vp build 使用 Vite + Rolldown 构建生产环境应用
  • vp run 执行单仓库任务,支持缓存和依赖感知调度
  • 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({
  // 用于开发/构建/预览的标准 Vite 配置。
  plugins: [],

  // Vitest 配置。
  test: {
    include: ['src/**/*.test.ts'],
  },

  // Oxlint 配置。
  lint: {
    ignorePatterns: ['dist/**'],
  },

  // Oxfmt 配置。
  fmt: {
    semi: true,
    singleQuote: true,
  },

  // Vite Task 配置。
  run: {
    tasks: {
      'generate:icons': {
        command: 'node scripts/generate-icons.js',
        envs: ['ICON_THEME'],
      },
    },
  },

  // `vp staged` 配置。
  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 - 运行单仓库任务
  • exec - 从本地 node_modules/.bin 执行命令
  • dlx - 执行包二进制文件,无需将其安装为依赖项
  • cache - 管理任务缓存

构建

  • build - 生产环境构建
  • pack - 构建库
  • preview - 预览生产构建

管理依赖

Vite+ 根据 packageManager 和锁定文件自动包装您的包管理器(pnpm、npm 或 Yarn):

  • add - 添加包到依赖项
  • remove (rm, un, uninstall) - 从依赖项中移除包
  • update (up) - 将包更新到最新版本
  • dedupe - 去重依赖项
  • outdated - 检查过时的包
  • list (ls) - 列出已安装的包
  • why (explain) - 显示为什么安装了某个包
  • info (view, show) - 从注册表查看包元数据
  • link (ln) / unlink - 管理本地包链接
  • pm - 将命令转发给包管理器

维护

  • upgrade - 将 vp 本身更新到最新版本
  • implode - 移除 vp 和所有相关数据

搭建您的第一个 Vite+ 项目

使用 vp create 创建新项目:

vp create

您可以在项目内部运行 vp create 以向项目添加新的应用或库。

迁移现有项目

您可以将现有项目迁移到 Vite+:

vp migrate

GitHub Actions

使用官方的 setup-vp action 在 GitHub Actions 中安装 Vite+:

- uses: voidzero-dev/setup-vp@v1
  with:
    node-version: '22'
    cache: true

手动安装和迁移

如果您正在手动将项目迁移到 Vite+,请首先安装这些开发依赖:

npm install -D vite-plus @voidzero-dev/vite-plus-core@latest

您需要为 vitevitest 向您的包管理器添加覆盖,以便其他依赖 Vite 和 Vitest 的包使用 Vite+ 版本:

"overrides": {
  "vite": "npm:@voidzero-dev/vite-plus-core@latest",
  "vitest": "npm:@voidzero-dev/vite-plus-test@latest"
}

如果您使用 pnpm,请在 pnpm-workspace.yaml 中添加:

overrides:
  vite: npm:@voidzero-dev/vite-plus-core@latest
  vitest: npm:@voidzero-dev/vite-plus-test@latest

或者,如果您使用 Yarn:

"resolutions": {
  "vite": "npm:@voidzero-dev/vite-plus-core@latest",
  "vitest": "npm:@voidzero-dev/vite-plus-test@latest"
}