42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
import { defineConfig } from 'vite'
|
||
import uni from '@dcloudio/vite-plugin-uni'
|
||
import basicSsl from '@vitejs/plugin-basic-ssl'
|
||
|
||
// https://vitejs.dev/config/
|
||
//
|
||
// HTTPS 说明(WebRTC 必需):
|
||
// 浏览器仅在 secure context 下开放 navigator.mediaDevices(getUserMedia 等 API),
|
||
// 手机通过局域网 IP http://192.168.x.x:5173 访问时 mediaDevices 会是 undefined。
|
||
// 因此 dev 默认开启自签 HTTPS,同时把 /api 与 /ws 走同源代理转回后端 HTTP,
|
||
// 这样浏览器只与 vite HTTPS 通信,前端代码无需关心后端是否 TLS。
|
||
//
|
||
// 代理目标由环境变量 VITE_DEV_BACKEND 控制,默认 http://localhost:8085,
|
||
// 若后端跑在其他主机/端口(如 docker 主机)可自行覆盖。
|
||
const BACKEND = process.env.VITE_DEV_BACKEND || 'http://yl.z64.cn:8085'
|
||
const BACKEND_WS = BACKEND.replace(/^http/, 'ws')
|
||
|
||
export default defineConfig({
|
||
plugins: [
|
||
uni(),
|
||
basicSsl(),
|
||
],
|
||
base: '/echoChat-frontend/',
|
||
server: {
|
||
host: '0.0.0.0',
|
||
https: true,
|
||
proxy: {
|
||
'/api': {
|
||
target: BACKEND,
|
||
changeOrigin: true,
|
||
secure: false,
|
||
},
|
||
'/ws': {
|
||
target: BACKEND_WS,
|
||
changeOrigin: true,
|
||
ws: true,
|
||
secure: false,
|
||
},
|
||
},
|
||
},
|
||
})
|