74 lines
1.9 KiB
JavaScript
74 lines
1.9 KiB
JavaScript
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')
|
|
}
|
|
]
|
|
},
|
|
})
|