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 'node: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({ enabledRequirements: ['ep'], }), //自动导入组件 ElementPlusResolver() ], }), Icons({ autoInstall: true, }), viteSvgIcons({ // 指定需要缓存的图标文件夹 iconDirs: [path.resolve(process.cwd(), '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: true // 生产环境禁用debugger } } }, server: { host: '0.0.0.0', port: 8888, strictPort: false, open: true, proxy: { // '/api/workflow': { // target: 'http://frp.feashow.cn:31800/', // // target: 'http://clay.frp.feashow.cn/', // // target: 'http://192.168.31.175:8000', // changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, '') // }, // '/api/admin': { // target: 'http://frp.feashow.cn:31800/', // // target: 'http://clay.frp.feashow.cn/', // // target: 'http://192.168.31.175:8000', // changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, '') // }, // '/api/auth': { // target: 'http://frp.feashow.cn:31800/', // // target: 'http://clay.frp.feashow.cn/', // // target: 'http://192.168.31.175:8000', // changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, '') // }, '/api': { target: 'http://mosr.feashow.cn', // target: 'http://kyglweb.scgzjy.com:8080/', // target: 'http://clay.frp.feashow.cn/', // target: 'http://10.7.127.57:8000', changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, '') }, // '/api/notice-ws': { // target: 'ws://mosr.feashow.cn/summary/notice-ws', // ws: true, // changeOrigin: true, // } } }, esbuild: { target: 'esnext', // 强制使用最新 ES 模块 }, })