foreign-admin-ui/vite.config.ts

92 lines
2.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'
// auto import - 新增的自动导入插件导入
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import ElementPlus from 'unplugin-element-plus/vite'
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
// https://vite.dev/config/
export default defineConfig({
plugins: [
vue(),
vueDevTools(),
// Element Plus 样式按需导入
ElementPlus({
useSource: true
}),
// 自动导入 API
AutoImport({
// 自动导入Vue、VueRouter、Pinia、VueUse等核心API
imports: [
'vue',
'vue-router',
'pinia',
'@vueuse/core'
],
// 解析Element Plus和图标组件的API
resolvers: [
ElementPlusResolver(),
IconsResolver({
prefix: 'Icon'
})
],
// 生成类型声明文件解决TS类型提示问题
dts: './src/auto-imports.d.ts',
// 生成eslint配置解决自动导入的eslint报错
eslintrc: {
enabled: true,
filepath: './.eslintrc-auto-import.json'
}
}),
// 自动导入组件
Components({
// 自动导入自定义组件的目录
dirs: ['src/components'],
resolvers: [
// 自动导入Element Plus组件
ElementPlusResolver(),
// 自动导入图标组件
IconsResolver({
enabledCollections: ['ep'], // Element Plus图标集
prefix: 'Icon'
})
],
// 生成组件类型声明文件
dts: './src/components.d.ts'
}),
// 自动导入图标
Icons({
autoInstall: true, // 自动安装缺失的图标依赖
scale: 1, // 图标缩放比例
defaultClass: 'inline-block' // 图标默认样式
}),
// ========== 新增的自动导入配置结束 ==========
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
},
},
// 跨域代理核心配置
server: {
port: 5173, // 前端项目运行端口(可自定义)
cors: true, // 允许跨域(基础配置)
proxy: {
// 匹配以 /api 开头的请求
'/api': {
target: 'http://192.168.10.10:8085', // 后端接口基础地址
changeOrigin: true, // 开启跨域(关键)
rewrite: (path) => path.replace(/^\/api/, '/api') // 路径重写(根据后端实际情况调整)
// 如果后端接口没有 /api 前缀需要改为rewrite: (path) => path.replace(/^\/api/, '')
}
}
}
})