import vue from '@vitejs/plugin-vue'; import path from 'path'; import { ConfigEnv, defineConfig, UserConfigExport } from 'vite'; import ViteComponents, { AntDesignVueResolver } from 'vite-plugin-components'; import OptimizationPersist from 'vite-plugin-optimize-persist'; import PkgConfig from 'vite-plugin-package-config'; import viteSvgIcons from 'vite-plugin-svg-icons'; import { viteVConsole } from 'vite-plugin-vconsole'; export default ({ command, mode }: ConfigEnv): UserConfigExport => defineConfig({ plugins: [ vue(), ViteComponents({ customComponentResolvers: [AntDesignVueResolver()], }), viteSvgIcons({ // 指定需要缓存的图标文件夹 iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')], // 指定symbolId格式 symbolId: 'icon-[dir]-[name]', }), viteVConsole({ entry: path.resolve(__dirname, './src/main.ts'), // 入口文件 localEnabled: command === 'serve', // serve开发环境下 config: { // vconsole 配置项 maxLogNumber: 1000, theme: 'light' } }), PkgConfig(), OptimizationPersist() ], server: { open: true, host: '0.0.0.0', port: 8080, // proxy: { // '/api': { // target: 'http://192.168.3.42:6789', // changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, '') // } // } }, envDir: './env', resolve: { alias: [{ find: '/@', replacement: path.resolve(__dirname, './src'), } ] }, css: { preprocessorOptions: { scss: { additionalData: '@import "./src/styles/variables";' }, } }, base: '/', build: { target: ['es2015'], // 最低支持 es2015 sourcemap: true } })