kindergarten_java/reading-platform-frontend/vite.config.ts

85 lines
2.0 KiB
TypeScript
Raw Normal View History

2026-03-11 16:27:37 +08:00
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { resolve } from "path";
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { AntDesignVueResolver } from "unplugin-vue-components/resolvers";
import viteCompression from "vite-plugin-compression";
import UnoCSS from "unocss/vite";
import { presetUno, presetAttributify } from "unocss";
export default defineConfig({
plugins: [
vue(),
AutoImport({
imports: [
2026-03-11 16:27:37 +08:00
"vue",
"vue-router",
"pinia",
{
2026-03-11 16:27:37 +08:00
"ant-design-vue": ["message", "notification", "Modal"],
},
],
2026-03-11 16:27:37 +08:00
dts: "src/auto-imports.d.ts",
}),
Components({
resolvers: [
AntDesignVueResolver({
importStyle: false,
}),
],
2026-03-11 16:27:37 +08:00
dts: "src/components.d.ts",
}),
UnoCSS({
presets: [presetUno(), presetAttributify()],
}),
viteCompression({
verbose: true,
disable: false,
threshold: 10240,
2026-03-11 16:27:37 +08:00
algorithm: "gzip",
ext: ".gz",
}),
],
resolve: {
alias: {
2026-03-11 16:27:37 +08:00
"@": resolve(__dirname, "src"),
},
},
server: {
port: 5173,
host: true,
proxy: {
2026-03-11 16:27:37 +08:00
"/api": {
2026-03-11 17:38:47 +08:00
target: "http://localhost:8080",
// target: "http://192.168.1.110:8080",
changeOrigin: true,
},
2026-03-11 16:27:37 +08:00
"/uploads": {
2026-03-11 17:38:47 +08:00
target: "http://localhost:8080",
// target: "http://192.168.1.110:8080",
changeOrigin: true,
},
},
},
build: {
rollupOptions: {
output: {
manualChunks: {
2026-03-11 16:27:37 +08:00
"ant-design-vue": ["ant-design-vue", "@ant-design/icons-vue"],
echarts: ["echarts"],
fullcalendar: [
"@fullcalendar/vue3",
"@fullcalendar/core",
"@fullcalendar/daygrid",
"@fullcalendar/timegrid",
"@fullcalendar/interaction",
],
dayjs: ["dayjs"],
},
},
},
chunkSizeWarningLimit: 1000,
},
});