import { fileURLToPath, URL } from 'node:url'; import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import postcssPxToViewport from 'postcss-px-to-viewport'; export default defineConfig({ plugins: [vue()], server: { port: '8098', host: '0.0.0.0', proxy: { '/api': { //apiTest是自行设置的请求前缀,按照这个来匹配请求,有这个字段的请求,就会进到代理来 target: 'http://10.1.161.183:7878/', // 需要代理的域名 secure: false, changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') //重写匹配的字段,如果不需要放在请求路径上,可以重写为"" }, '/cityGIsApi': { //apiTest是自行设置的请求前缀,按照这个来匹配请求,有这个字段的请求,就会进到代理来 // target: 'http://10.1.161.113:18080/', // 需要代理的域名 target: 'http://58.34.215.19:9082/', // 需要代理的域名 secure: false, changeOrigin: true, rewrite: (path) => path.replace(/^\/cityGIsApi/, '') //重写匹配的字段,如果不需要放在请求路径上,可以重写为"" }, '/vmap': { //apiTest是自行设置的请求前缀,按照这个来匹配请求,有这个字段的请求,就会进到代理来 // target: 'http://10.1.161.113:18080/', // 需要代理的域名 target: 'http://58.34.215.19:9082', // 需要代理的域名 secure: false, changeOrigin: true } } }, resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) } }, css: { postcss: { plugins: [ postcssPxToViewport({ viewportWidth: 1080, // 视窗的宽度,对应的是我们设计稿的宽度,一般是750 viewportHeight: 1080, // 视窗的高度,根据750设备的宽度来指定,一般指定1334,也可以不配置 unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数(很多时候无法整除) viewportUnit: 'vh', // 指定需要转换成的视窗单位,建议使用vw fontViewportUnit: 'vh', selectorBlackList: [], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名 minPixelValue: 2, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值 mediaQuery: true, // 允媒体查许在询中转换`px` propList: ['*', '!min-width', '!min-height'], minValue: 10 // exclude:[/Tabbar/] //以Tabbar文件开头的不转化 }) ] } } });