xzh-vite-plugin-version
v1.0.5
Published
A Vite plugin that generates version.json file with build info
Maintainers
Readme
xzh-vite-plugin-version
一个 Vite 插件,用于在构建时生成包含版本信息的 version.json 文件
特性
- 📦 构建时自动生成版本信息
- 🔧 包含 Git 提交哈希
- ⚙️ 高度可配置
- 📝 支持 TypeScript
- 🌳 支持树摇优化
安装
npm install xzh-vite-plugin-version -D
# 或
pnpm add xzh-vite-plugin-version -D
# 或
yarn add xzh-vite-plugin-version -D使用方法
基础用法
// vite.config.ts
import { defineConfig } from "vite";
import versionPlugin from "xzh-vite-plugin-version";
export default defineConfig({
plugins: [versionPlugin()],
});这会在构建输出目录生成 version.json 文件:
{
"name": "your-project-name",
"version": "1.0.0",
"buildTime": "2024-01-01T12:00:00.000Z",
"gitCommit": "abc1234"
}高级选项
import { defineConfig } from "vite";
import versionPlugin from "xzh-vite-plugin-version";
export default defineConfig({
plugins: [
versionPlugin({
// 自定义输出文件名
filename: "build-info.json",
// 输出到子目录
outDir: "meta",
// 禁用 git 提交哈希
gitCommit: false,
// 自定义转换器
transform: (info) => ({
...info,
appName: "我的应用",
environment: process.env.NODE_ENV,
}),
// 禁用控制台输出
verbose: false,
}),
],
});在应用中读取版本信息
// 运行时获取
const versionInfo = await fetch("/version.json").then((r) => r.json());
console.log(versionInfo.version);配置选项
| 选项 | 类型 | 默认值 | 描述 |
| ----------- | --------------- | ---------------------- | ---------------------------- |
| name | string | package.json#name | 包名 |
| version | string | package.json#version | 版本号 |
| outDir | string | '' | 输出目录(相对于构建根目录) |
| filename | string | 'version.json' | 输出文件名 |
| gitCommit | boolean | true | 是否包含 git 提交哈希 |
| transform | (info) => any | undefined | 自定义转换函数 |
| verbose | boolean | true | 是否显示控制台输出 |
