import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' import { webcrypto } from 'crypto' globalThis.crypto = webcrypto // https://vitejs.dev/config/ export default defineConfig(({ mode }) => { // 加载环境变量 const env = loadEnv(mode, process.cwd(), '') return { plugins: [vue({ style: { postcss: {}, // 仅使用PostCSS处理CSS css: { postcss: {}, modules: false } } })], resolve: { alias: { '@': resolve(__dirname, 'src') } }, server: { port: 5400, host: '0.0.0.0', proxy: { '/api/auth': { target: env.VITE_API_FULL_URL || 'http://localhost:5352', changeOrigin: true, secure: false }, '/api': { target: env.VITE_API_FULL_URL || 'http://localhost:5352', changeOrigin: true, secure: false } } }, build: { outDir: 'dist', assetsDir: 'assets', rollupOptions: { output: { assetFileNames: 'assets/[name]-[hash][extname]', chunkFileNames: 'assets/[name]-[hash].js', entryFileNames: 'assets/[name]-[hash].js' } } }, define: { // 将环境变量注入到应用中 __APP_ENV__: JSON.stringify(env) } } })