library-picturebook-activity/lesingle-aicreate-client/vite.config.js
2026-04-08 15:32:18 +08:00

45 lines
1.1 KiB
JavaScript

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import { fileURLToPath, URL } from 'node:url'
// 与主项目 frontend 的 /ai-web 代理一致;可通过 VITE_APP_BASE 覆盖
export default defineConfig(async ({ mode }) => {
const env = loadEnv(mode, process.cwd(), '')
const base = env.VITE_APP_BASE || '/ai-web/'
const useHttps = process.argv.includes('--https') || env.VITE_HTTPS === 'true'
let sslPlugin = []
if (useHttps) {
try {
const basicSsl = (await import('@vitejs/plugin-basic-ssl')).default
sslPlugin = [basicSsl()]
} catch {
/* basicSsl not installed, skip */
}
}
return {
base,
plugins: [vue(), ...sslPlugin],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
server: {
port: 3001,
host: '0.0.0.0',
proxy: {
'/api': {
target: 'http://localhost:8080',
changeOrigin: true
},
'/ws': {
target: 'http://localhost:8080',
ws: true
}
}
}
}
})