| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import { defineConfig } from 'vite';
- import vue from '@vitejs/plugin-vue';
- import { resolve } from 'path';
- import UnoCSS from 'unocss/vite';
- import AutoImport from 'unplugin-auto-import/vite';
- import Components from 'unplugin-vue-components/vite';
- import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
- import { ViteImageOptimizer } from 'vite-plugin-image-optimizer';
- // https://vite.dev/config/
- export default defineConfig({
- base: './',
- plugins: [
- vue(),
- UnoCSS(),
- // 自动引入组件
- AutoImport({
- resolvers: [ElementPlusResolver()],
- }),
- Components({
- resolvers: [ElementPlusResolver()],
- }),
- ViteImageOptimizer({
- logStats: true,
- ansiColors: true,
- test: /\.(jpe?g|png|gif|tiff|webp|svg|avif)$/i,
- includePublic: true,
- svg: {
- multipass: true,
- plugins: [
- {
- name: 'preset-default',
- params: {
- overrides: {
- cleanupNumericValues: false,
- cleanupIds: {
- minify: false,
- remove: false,
- },
- convertPathData: false,
- },
- },
- },
- 'sortAttrs',
- {
- name: 'addAttributesToSVGElement',
- params: {
- attributes: [{ xmlns: 'http://www.w3.org/2000/svg' }],
- },
- },
- ],
- },
- png: {
- quality: 80,
- },
- jpeg: {
- quality: 80,
- },
- jpg: {
- quality: 80,
- },
- webp: {
- lossless: true,
- },
- }),
- ],
- resolve: {
- alias: {
- '@': resolve(__dirname, 'src'),
- },
- },
- server: {
- proxy: {
- '/api/api': {
- // target: 'http://172.18.50.86:8080',
- // target: 'http://172.26.28.188:8080',
- target: 'http://10.0.0.200:7000',
- changeOrigin: true,
- rewrite: (path) => path.replace('/api/api', '/api'),
- },
- },
- },
- });
|