vite.config.ts
/// <reference types="vitest" />
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(),
//ElementPlus按需加载
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
test: {
// 启用类似 jest 的全局测试 API
globals: true,
// 使用 happy-dom 模拟 DOM
// 这需要你安装 happy-dom 作为对等依赖(peer dependency)
environment: "happy-dom",
},
base: "/", //指定应用的公共路径
resolve: {
alias: {
"@": resolve(__dirname, "./src"), // 设置 '@' 指向 src 目录
},
},
build: {
rollupOptions: {
output: {
//https://rollupjs.org/configuration-options/#output-manualchunks
//手动分包,把引用的模块单独打包
manualChunks(id: string) {
if (id.includes("node_modules")) {
return "vendor";
}
},
},
},
},
server: {
host: "0.0.0.0",
port: 1234,
proxy: {
"/api": {
target: "",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ""),
},
},
},
});