| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { defineConfig, loadEnv } from 'vite'
- import uni from '@dcloudio/vite-plugin-uni'
- import { LLM_PROXY_TARGET } from './config/llm.js'
- const llmTarget = String(LLM_PROXY_TARGET || '').replace(/\/$/, '')
- /** 与 manifest.json h5.router.base 一致:生产 /bqH5/,开发 / */
- function resolvePublicPath(mode, env) {
- if (mode !== 'production') {
- return '/'
- }
- const raw = String(env.VITE_APP_PUBLIC_PATH || 'bqH5').trim()
- if (!raw || raw === '/') {
- return '/'
- }
- return `/${raw.replace(/^\/+|\/+$/g, '')}/`
- }
- /**
- * uni-app Vue3 H5 开发代理
- * - /dev-api → 若依后端(.env.development 的 VITE_APP_API_HOST)
- * - /llm-dev-proxy → 大模型网关
- */
- export default defineConfig(({ mode }) => {
- const env = loadEnv(mode, process.cwd(), '')
- const base = resolvePublicPath(mode, env)
- const devApiTarget = String(env.VITE_APP_API_HOST || 'http://192.168.1.6:8010').replace(/\/$/, '')
- const devApiPrefix = String(env.VITE_APP_BASE_API || '/dev-api')
- return {
- base,
- plugins: [uni()],
- build: {
- // iOS Safari 对 modulepreload 更敏感,预加载未使用的 chunk 易拖慢首屏
- modulePreload: false
- },
- server: {
- proxy: {
- [devApiPrefix]: {
- target: devApiTarget,
- changeOrigin: true,
- rewrite: (path) => path.replace(new RegExp(`^${devApiPrefix}`), '')
- },
- '/llm-dev-proxy': {
- target: llmTarget,
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/llm-dev-proxy/, '')
- }
- }
- }
- }
- })
|