===================================================

**Web 統一工具鏈**執行時與套件管理、建立、開發、檢查、測試、建置、打包以及單一倉庫(monorepo)任務快取,全部整合在一個套件中
Vite+ 是本地 Web 開發的統一入口。它將 Vite、Vitest、Oxlint、Oxfmt、Rolldown、tsdown 與 Vite Task 整合到一個零組態工具鏈中,同時還管理執行時與套件管理器的工作流程:
vp env: 全域與專案層級管理 Node.jsvp 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(PowerShell):
irm https://viteplus.dev/install.ps1 | iex
vp 處理完整的開發生命週期,包括套件管理、開發伺服器、程式碼檢查、格式化、測試與生產建置。
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 中。
vp help)啟動
i) - 安裝相依套件開發
執行
node_modules/.bin 執行命令建置
管理相依套件
Vite+ 會根據 packageManager 與鎖定檔自動包裝您的套件管理器(pnpm、npm 或 Yarn):
rm, un, uninstall) - 從相依中移除套件up) - 將套件更新到最新版本ls) - 列出已安裝的套件explain) - 顯示為何安裝了某個套件view, show) - 從註冊表檢視套件的 metadataln) / unlink - 管理本地套件連結維護
vp 自身更新到最新版本vp 與所有相關資料使用 vp create 建立新專案:
vp create
您也可以在專案內部執行 vp create,以向專案新增新的應用或函式庫。
您可以將既有專案遷移到 Vite+:
vp migrate
使用官方的 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
您需要對 vite 與 vitest 在套件管理器中加入覆蓋(overrides / resolutions / overrides in pnpm)以確保其他相依 Vite 與 Vitest 的套件使用 Vite+ 的版本:
package.json(範例,使用 overrides):
"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,可以在 package.json 中使用 resolutions:
"resolutions": {
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
"vitest": "npm:@voidzero-dev/vite-plus-test@latest"
}
---
原文出處:https://juejin.cn/post/7619245854759780367