Files
SmartOpsWeb/vite.config.js
2025-02-22 11:41:30 +08:00

93 lines
2.5 KiB
JavaScript

import {fileURLToPath, URL} from "node:url";
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 Icons from "unplugin-icons/vite";
import IconsResolver from "unplugin-icons/resolver";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";
import Inspect from "vite-plugin-inspect";
import viteSvgIcons from "vite-plugin-svg-icons";
import path from "path";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
vueJsx(),
AutoImport({
//自动导入vue相关函数
imports: ["vue", "vue-router"],
resolvers: [
ElementPlusResolver(),
//自动导入图标组件
IconsResolver({
prefix: "Icon",
}),
],
}),
Components({
dirs: ["src/components", "src/fvcomponents"],
resolvers: [
// 自动注册图标组件
IconsResolver({
enabledCollections: ["ep"],
}),
//自动导入组件
ElementPlusResolver(),
],
}),
Icons({
autoInstall: true,
}),
viteSvgIcons({
// 指定需要缓存的图标文件夹
iconDirs: [path.resolve(__dirname, "src/assets/svg")],
// 指定symbolId格式
symbolId: "icon-[dir]-[name]",
}),
Inspect(),
],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
build: {
minify: "esbuild",
terserOptions: {
compress: {
drop_console: false, // 生产环境移除log
drop_debugger: false, // 生产环境禁用debugger
},
},
},
server: {
host: "0.0.0.0",
port: 8888,
strictPort: false,
open: true,
proxy: {
// "/api/custom/": {
// target: "http://clay.frp.feashow.cn",
// // target: "http://10.7.127.57:8000",
// changeOrigin: true,
// rewrite: (path) => path.replace(/^\/api/, ""),
// },
"/api": {
target: "http://frp.feashow.cn:31800/",
// target: "http://10.8.105.91:28080/",
// target: "http://112.19.165.99:20002/",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ""),
},
// "/socket": {
// target: "ws://frp.feashow.cn:8081/ws",
// changeOrigin: true,
// rewrite: (path) => path.replace(/^\/api/, ""),
// }
},
},
});