import { fileURLToPath, URL } from 'node:url' import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), '') return { plugins: [ vue(), AutoImport({ imports: ['vue', 'vue-router'], dts: 'src/auto-imports.d.ts', resolvers: [ElementPlusResolver({ importStyle: 'css' })], }), Components({ dts: 'src/components.d.ts', resolvers: [ElementPlusResolver({ importStyle: 'css' })], }), ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, server: { // 👇 加入这行,允许通过 IP 和网络访问 host: true, // 👇 加入这行,允许所有外部域名(包括 Cloudflare 分配的域名)访问 allowedHosts: true, proxy: { '/api': { target: env.VITE_API_TARGET || 'http://localhost:3000', changeOrigin: true, }, }, }, } })