Files
django-vue3-admin-gd/web/apps/web-antd/vite.config.mts
2025-07-05 10:46:25 +08:00

47 lines
1.3 KiB
TypeScript

import * as console from 'node:console';
import { defineConfig } from '@vben/vite-config';
import { loadEnv } from 'vite';
import vitePluginOss from './plugins/vite-plugin-oss.mjs';
export default defineConfig(async ({ mode }) => {
// eslint-disable-next-line n/prefer-global/process
const env = loadEnv(mode, process.cwd());
// 这样获取
const backendUrl = env.VITE_BACKEND_URL;
// 判断是否为构建模式
const isBuild = mode === 'production';
const isOssEnabled = env.VITE_OSS_ENABLED === 'true';
return {
application: {},
vite: {
base: isBuild && isOssEnabled ? env.VITE_BASE_URL_PROD : '',
server: {
host: '0.0.0.0', // 保证 docker 内外都能访问
port: 5678,
proxy: {
'/api': {
target: backendUrl,
changeOrigin: true,
},
},
},
plugins: [
vitePluginOss({
enabled: env.VITE_OSS_ENABLED === 'true',
region: env.VITE_OSS_REGION,
accessKeyId: env.VITE_OSS_ACCESS_KEY_ID,
accessKeySecret: env.VITE_OSS_ACCESS_KEY_SECRET,
bucket: env.VITE_OSS_BUCKET,
prefix: env.VITE_OSS_PREFIX || '',
deleteLocal: env.VITE_OSS_DELETE_LOCAL === 'true',
}),
],
},
};
});