85 lines
2.0 KiB
TypeScript
85 lines
2.0 KiB
TypeScript
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: [
|
|
"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",
|
|
}),
|
|
UnoCSS({
|
|
presets: [presetUno(), presetAttributify()],
|
|
}),
|
|
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://localhost:8080",
|
|
// 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,
|
|
},
|
|
});
|