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"; export default defineConfig({ plugins: [ vue(), AutoImport({ imports: [ "vue", "vue-router", "pinia", { "ant-design-vue": ["message", "notification", "Modal"], }, ], dts: "src/auto-imports.d.ts", }), Components({ resolvers: [ AntDesignVueResolver({ importStyle: false, }), ], dts: "src/components.d.ts", }), viteCompression({ verbose: true, disable: false, threshold: 10240, algorithm: "gzip", ext: ".gz", }), ], resolve: { alias: { "@": resolve(__dirname, "src"), }, }, server: { port: 5173, host: true, proxy: { "/api": { // target: 'http://localhost:8080', target: "http://192.168.1.110:8080", changeOrigin: true, }, "/uploads": { target: "http://192.168.1.110:8080", changeOrigin: true, }, }, }, build: { rollupOptions: { output: { manualChunks: { "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, }, });