Files
TeyvatGuide/vite.config.ts
2024-12-13 16:37:05 +08:00

57 lines
1.7 KiB
TypeScript

/**
* @file vite.config.ts
* @description vite 配置文件
* @since Beta v0.6.5
*/
import vue from "@vitejs/plugin-vue";
import { defineConfig } from "vite";
import VueDevtools from "vite-plugin-vue-devtools";
import vuetify from "vite-plugin-vuetify";
import buildTimePlugin from "./src/utils/TGBuild.js";
const env: TauriProcessEnv = process.env;
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue(), vuetify(), buildTimePlugin(), VueDevtools()],
resolve: {
alias: {
"@/": "/src/",
"@comp/": "/src/components/",
"@Hutao/": "/src/plugins/Hutao/",
"@Mys/": "/src/plugins/Mys/",
"@Sqlite/": "/src/plugins/Sqlite/",
"@Bili/": "/src/plugins/Bili/",
},
},
clearScreen: false,
server: { port: 4000, strictPort: true },
envPrefix: ["VITE_", "TAURI_"],
esbuild: { supported: { "top-level-await": true } },
build: {
// Tauri supports es2021
target: env.TAURI_PLATFORM === "windows" ? "chrome105" : "safari13",
// don't minify for debug builds
minify: !env.TAURI_DEBUG ? "esbuild" : false,
// produce sourcemaps for debug builds
sourcemap: !!env.TAURI_DEBUG,
// chunk size warning limit, default is 500kB,here set 4096KB which is 4MB
chunkSizeWarningLimit: 4096, // KB
// rollup options
rollupOptions: {
// chunking
output: {
manualChunks(id: string) {
// pnpm 依赖包路径格式为 本地路径/node_modules/.pnpm/包名@版本号/node_modules/依赖包名/文件路径
if (id.includes("node_modules")) {
const arr = id.split("node_modules/");
return arr[2].split("/")[0];
}
},
},
},
},
});