Files
hfb_sys/frontend/vite.config.ts
T

69 lines
1.8 KiB
TypeScript

import { fileURLToPath, URL } from "node:url";
import vue from "@vitejs/plugin-vue";
import { defineConfig } from "vite";
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import { VantResolver } from "@vant/auto-import-resolver";
export default defineConfig({
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver(), VantResolver()],
}),
],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
server: {
port: 5173,
proxy: {
"/api": "http://127.0.0.1:8080",
},
allowedHosts: [
'221329.cc.cd',
"d4aa-77-93-89-84.ngrok-free.app",
"frp-bus.com",
"www.u499731.nyat.app",
"fn.221329.xyz"
],
},
build: {
rollupOptions: {
onwarn(warning, warn) {
const isVueusePureWarning =
warning.message.includes("#__PURE__") &&
typeof warning.id === "string" &&
warning.id.includes("node_modules/@vueuse/core/");
if (isVueusePureWarning) return;
warn(warning);
},
output: {
manualChunks(id) {
if (!id.includes("node_modules")) return;
if (id.includes("element-plus") || id.includes("@element-plus")) {
return "vendor-element-plus";
}
if (id.includes("vant") || id.includes("@vant")) {
return "vendor-vant";
}
if (id.includes("vue") || id.includes("pinia")) {
return "vendor-vue";
}
if (id.includes("axios")) {
return "vendor-axios";
}
return "vendor";
},
},
},
},
});