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 { ElementPlusResolver } from "unplugin-vue-components/resolvers";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
imports: ["vue", "vue-router", "pinia"],
dts: true,
}),
Components({
resolvers: [ElementPlusResolver()],
dts: true,
}),
],
resolve: {
alias: {
"@": resolve(__dirname, "src"),
},
},
server: {
port: 3000,
strictPort: true,
host: true,
proxy: {
"/api": {
target: "http://localhost:3001",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, "/api"),
},
"/socket.io": {
target: "http://localhost:3001",
changeOrigin: true,
ws: true,
},
"/monitoring": {
target: "http://localhost:3001",
changeOrigin: true,
ws: true,
},
},
},
build: {
outDir: "dist",
sourcemap: true,
rollupOptions: {
output: {
manualChunks: {
"element-plus": ["element-plus"],
monaco: ["monaco-editor"],
},
},
},
},
optimizeDeps: {
include: ["monaco-editor"],
},
define: {
// Monaco Editor 需要的全局变量
"process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV),
},
worker: {
format: "es",
},
});