import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' // vant插件 import Components from 'unplugin-vue-components/vite' import { VantResolver } from 'unplugin-vue-components/resolvers' // 引入vite兼容浏览器插件 import legacy from '@vitejs/plugin-legacy' function pathResolve(dir) { return resolve(__dirname, '.', dir) } export default defineConfig({ base: './', plugins: [ vue(), Components({ resolvers: [VantResolver()] }), // vite兼容低版本浏览器 如UC浏览器 内核55 legacy({ targets: ['chrome 50', 'ie >= 11'], additionalLegacyPolyfills: ['regenerator-runtime/runtime'], // regenerator-runtime/runtime @dian/polyfill renderLegacyChunks: true, polyfills: [ 'es.symbol', 'es.array.filter', 'es.promise', 'es.promise.finally', 'es/map', 'es/set', 'es.array.for-each', 'es.object.define-properties', 'es.object.define-property', 'es.object.get-own-property-descriptor', 'es.object.get-own-property-descriptors', 'es.object.keys', 'es.object.to-string', 'web.dom-collections.for-each', 'esnext.global-this', 'esnext.string.match-all' // // 这个无法处理 // 'es.string.replace-all' ], // 在polyfills外可以执行 modernPolyfills: ['es.string.replace-all'] }) ], resolve: { alias: { '@': pathResolve('src') } }, server: { host: '0.0.0.0', cors: true, open: true, proxy: { // 跨域前缀写法 '/api': { target: 'http://192.168.99.223:3000', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') } } } })