65 lines
1.4 KiB
TypeScript
65 lines
1.4 KiB
TypeScript
import { defineConfig } from "vite";
|
||
import vue from "@vitejs/plugin-vue";
|
||
import { resolve } from "path";
|
||
import UnoCSS from "unocss/vite";
|
||
|
||
export default defineConfig({
|
||
plugins: [vue(), UnoCSS()],
|
||
|
||
// 基础路径
|
||
base: "/",
|
||
|
||
resolve: {
|
||
alias: {
|
||
"@": resolve(__dirname, "src"),
|
||
},
|
||
},
|
||
server: {
|
||
host: "0.0.0.0",
|
||
proxy: {
|
||
"/api/chat-ui": {
|
||
target: "http://localhost:8002", // Python服务器端口
|
||
changeOrigin: true,
|
||
},
|
||
"/api/auth": {
|
||
target: "https://sxwz.xueai.art",
|
||
changeOrigin: true,
|
||
},
|
||
},
|
||
},
|
||
build: {
|
||
// 输出目录
|
||
outDir: "dist",
|
||
|
||
// 静态资源目录
|
||
assetsDir: "assets",
|
||
|
||
// 生成 sourcemap(生产环境可关闭)
|
||
sourcemap: false,
|
||
|
||
// 使用 esbuild 压缩(默认,更快)
|
||
minify: "esbuild",
|
||
|
||
// 分包策略
|
||
rollupOptions: {
|
||
output: {
|
||
manualChunks: {
|
||
"vue-vendor": ["vue", "pinia"],
|
||
"ui-vendor": ["lucide-vue-next"],
|
||
},
|
||
chunkFileNames: "assets/js/[name]-[hash].js",
|
||
entryFileNames: "assets/js/[name]-[hash].js",
|
||
assetFileNames: "assets/[ext]/[name]-[hash].[ext]",
|
||
},
|
||
},
|
||
},
|
||
|
||
css: {
|
||
preprocessorOptions: {
|
||
scss: {
|
||
additionalData: ``,
|
||
},
|
||
},
|
||
},
|
||
});
|