import { defineConfig,UserConfigExport } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import autoCompress from './src/vite-plugins/autoCompress' const commonConfig: UserConfigExport = { plugins: [ vue(), AutoImport({ resolvers: [ElementPlusResolver()] }), Components({ resolvers: [ElementPlusResolver()] }) ], resolve: { alias: { '@': resolve(__dirname, 'src') }, extensions: ['.tsx', '.ts', '.js', '.json', '.less'] }, base: '/' } export default defineConfig(({ command }) => { if (command === 'serve') { commonConfig.server = { proxy: { '/lyq': { target: 'http://192.168.1.5:9000', changeOrigin: true, rewrite(path) { return path.replace(/\/lyq/, '') } } } } return commonConfig } else { const arr = [ autoCompress() ] commonConfig.plugins.push(...arr) commonConfig.build = { chunkSizeWarningLimit: 1024 * 2 } return commonConfig } })