import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import path from 'path' import { fileURLToPath } from 'url' const __dirname = path.dirname(fileURLToPath(import.meta.url)) function resolve(dir) { return path.join(__dirname, dir) } export default defineConfig({ plugins: [ vue(), vueJsx() ], define: { 'process.env': { BASE_URL: '/', NODE_ENV: process.env.NODE_ENV, API_URL: 'http://your-api-url', // ... 其他环境变量 } }, css: { preprocessorOptions: { less: { javascriptEnabled: true, additionalData: `@import "${path.resolve(__dirname, 'src/app.less')}";` } } }, resolve: { alias: { '@': resolve('src'), '@api': resolve('src/api'), '@assets': resolve('src/assets'), '@layouts': resolve('src/layouts'), '@static': resolve('src/static'), '@components': resolve('src/components'), '@router': resolve('src/router'), '@utils': resolve('src/utils'), '@store': resolve('src/store'), '@views': resolve('src/views') }, extensions: ['.js', '.jsx', '.ts', '.tsx', '.json', '.vue'] }, server: { port: 8003, proxy: { '/WebSocketConfig/': { target: 'ws://test.com', changeOrigin: true, ws: true, }, '/api/': { target: 'http://test.com', changeOrigin: true, ws: false, } } }, productionSourceMap: false, lintOnSave: false, })