import { resolve } from 'path' import { defineConfig, loadEnv } 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 Icons from 'unplugin-icons/vite' import IconsResolver from 'unplugin-icons/resolver' import Inspect from 'vite-plugin-inspect' import pxtovw from 'postcss-px-to-viewport' const loder_pxtovw = pxtovw({ // 这里是设计稿宽度 自己修改 viewportWidth: 1920, viewportUnit: 'vw', }) // https://vitejs.dev/config/ export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd()); return { css: { postcss: { // plugins: [loder_pxtovw], }, }, server: { port: 8080, host: '0.0.0.0', proxy: { "/api": { target: env.VITE_BASE_URL_API, changeOrigin: true }, "/draw": { target: env.VITE_BASE_URL_DRAW_API, changeOrigin: true }, } }, resolve: { alias: [ { find: '@', replacement: resolve(__dirname, 'src'), }, ], }, build: { minify: 'terser', terserOptions: { compress: { drop_console: true, }, }, rollupOptions: { output: { chunkFileNames: 'assets/js/[name]-[hash].js', entryFileNames: 'assets/js/[name]-[hash].js', assetFileNames: 'assets/[ext]/[name]-[hash].[ext]', compact: true, manualChunks: { } }, cache: true, } }, base: './', // 这里更改打包相对绝对路径 plugins: [ vue(), AutoImport({ resolvers: [ ElementPlusResolver(), IconsResolver({ prefix: 'Icon', }), ], }), Components({ resolvers: [ ElementPlusResolver(), IconsResolver({ enabledCollections: ['ep'], }), ], }), Icons({ autoInstall: true, }), Inspect(), ], } } )