import {defineConfig} 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 {VantResolver} from '@vant/auto-import-resolver';
import UnoCSS from 'unocss/vite'
import viteImagemin from 'vite-plugin-imagemin'
// https://vitejs.dev/config/
export default defineConfig({
    envDir: './env', // 自定义env目录
    server: {
        host: '0.0.0.0', // 监听所有网络接口
        port: 5878,
        // 选项写法
        proxy: {
            '/pag': {
                target: 'https://cdn.tmui.design',
                changeOrigin: true,
                rewrite: (path) => path.replace(/^\/api/, '/api')
            },
        }
    },
    plugins: [
        vue(),
        UnoCSS(),
        AutoImport({
            resolvers: [VantResolver()],
        }),
        Components({
            resolvers: [VantResolver()],
        }),
        viteImagemin({
            // 无损压缩配置
            optipng: {
                optimizationLevel: 7
            },
            // 有损压缩配置
            pngquant: {
                quality: [0.8, 0.9],
                speed: 4
            },
            // svg 优化
            svgo: {
                plugins: [
                    {
                        name: 'removeViewBox'
                    },
                    {
                        name: 'removeEmptyAttrs',
                        active: false
                    }
                ]
            },
            // jpg 优化
            mozjpeg: {
                quality: 80
            },
            // webp 优化
            webp: {
                quality: 80
            }
        })
    ],
    resolve: {
        alias: [
            {
                find: "@",
                replacement: resolve(__dirname, 'src')
            }
        ]
    },
})