import { defineConfig, loadEnv } from 'vite';
import path from 'path';
import viteConfig from '@zqxx/config';
const { usePlugins, useBuild } = viteConfig;
// 客户端名称
const NAME = __dirname.split('/').slice(-1)[0];
// 代理配置
const PROXY_MAP = {
'/api_demo': {
target: 'http://localhost:8080',
changeOrigin: true,
},
};
console.log('\nProxy Mapping:');
console.log(PROXY_MAP);
export default defineConfig(({ command, mode }) => {
// 获取当前环境变量
const env = loadEnv(mode, process.cwd());
return {
base: './',
resolve: {
alias: {
'@': path.resolve(__dirname, '..', NAME, 'src'),
},
},
plugins: usePlugins({ devMock: true, prodMock: false }),
build: {
// 保留原有 useBuild 配置
...useBuild(NAME, __dirname, env),
// ⚡ 关键:支持 top-level await
target: 'esnext',
minify: 'esbuild',
rollupOptions: {
// 外部化第三方依赖,避免打包报错
external: [
'cesium',
'vue-cesium',
'leaflet',
'leaflet.markercluster',
],
},
},
server: {
host: '0.0.0.0',
port: 8082,
cors: true,
proxy: PROXY_MAP,
},
};
});