51 lines
1.5 KiB
JavaScript
51 lines
1.5 KiB
JavaScript
import { fileURLToPath, URL } from "node:url";
|
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
import { resolve, dirname } from "node:path";
|
|
import { defineConfig } from "vite";
|
|
import vue from "@vitejs/plugin-vue";
|
|
import vueDevTools from "vite-plugin-vue-devtools";
|
|
import tailwindcss from "@tailwindcss/vite";
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
const packageJsonPath = resolve(__dirname, "package.json");
|
|
|
|
// 读取 package.json
|
|
let packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
|
|
// 每次 build 时自动递增 patch 版本
|
|
const isBuild = process.argv.includes("build");
|
|
if (isBuild) {
|
|
// const parts = packageJson.version.split(".");
|
|
// const patch = Math.max(0, parseInt(parts[2] || "0", 10));
|
|
// parts[2] = String(patch + 1);
|
|
// packageJson.version = parts.join(".");
|
|
// writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + "\n", "utf-8");
|
|
// console.log(`[bump] version → ${packageJson.version}`);
|
|
}
|
|
|
|
// https://vite.dev/config/
|
|
export default defineConfig({
|
|
define: {
|
|
// 全局可用 __APP_VERSION__,取自 package.json 的 version 字段
|
|
__APP_VERSION__: JSON.stringify(packageJson.version),
|
|
},
|
|
plugins: [vue(), vueDevTools(), tailwindcss()],
|
|
resolve: {
|
|
alias: {
|
|
"@": fileURLToPath(new URL("./src", import.meta.url)),
|
|
},
|
|
},
|
|
build: {
|
|
outDir: "../../backend/my_work/dist",
|
|
assetsDir: "assets",
|
|
},
|
|
server: {
|
|
proxy: {
|
|
"/api": {
|
|
target: "http://127.0.0.1:8080",
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
});
|