import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' // import AutoImport from 'unplugin-auto-import/vite' // import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import path from 'path' import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' // import viteCompression from 'vite-plugin-compression' function resolve (dir) { return path.join(__dirname, '.', dir) } // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue(), // AutoImport({ // resolvers: [ElementPlusResolver()], // }), // Components({ // resolvers: [ElementPlusResolver()], // }), createSvgIconsPlugin({ // 指定需要缓存的图标文件夹 iconDirs: [path.resolve(process.cwd(), 'src/icons/svg')], // 指定symbolId格式 symbolId: 'icon-[dir]-[name]', }), // gzip压缩 生产环境生成 .gz 文件 // viteCompression({ // verbose: true, // disable: false, // threshold: 10240, // algorithm: 'gzip', // ext: '.gz', // }), ], css: { preprocessorOptions: { scss: { additionalData: `@use "./src/styles/index.scss" as *;` } } }, // 配置别名 resolve: { alias: { '@':resolve('src'), 'static':resolve('public/static'), }, // 忽略后缀名的配置选项, 添加 .vue 选项时要记得原本默认忽略的选项也要手动写入 extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], }, //启动服务配置 server: { host: '0.0.0.0', port: 8100, open: true, https: false, proxy: {}, }, })