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 Icons from 'unplugin-icons/vite' // import IconsResolver from 'unplugin-icons/resolver' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import autoCompress from './src/vite-plugins/auto-compress' const pathSrc = resolve(__dirname, 'src') const commonConfig: UserConfigExport = { plugins: [ vue(), AutoImport({ // Auto import functions from Vue, e.g. ref, reactive, toRef... // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等 imports: ['vue'], resolvers: [ ElementPlusResolver() // IconsResolver({ // // 自动导入图标组件 // prefix: 'Icon' // }) ], dts: resolve(pathSrc, 'auto-imports.d.ts') }), Components({ resolvers: [ ElementPlusResolver() // IconsResolver({ // enabledCollections: ['ep'] // }) ], dts: resolve(pathSrc, 'components.d.ts') }) // Icons({ // autoInstall: true // }) ], 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://120.46.202.214: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 } })