35 lines
965 B
TypeScript
35 lines
965 B
TypeScript
import { defineConfig } from 'vite'
|
||
import vue from '@vitejs/plugin-vue'
|
||
import basicSsl from '@vitejs/plugin-basic-ssl' // ★ [新增] 引入 SSL 插件
|
||
import { fileURLToPath, URL } from 'node:url'
|
||
|
||
export default defineConfig({
|
||
plugins: [
|
||
vue(),
|
||
basicSsl() // ★ [新增] 启用 HTTPS 证书生成
|
||
],
|
||
resolve: {
|
||
alias: {
|
||
'@': fileURLToPath(new URL('./src', import.meta.url))
|
||
}
|
||
},
|
||
server: {
|
||
// 允许局域网访问前端页面
|
||
host: '0.0.0.0',
|
||
port: 5173,
|
||
https: true, // ★ [新增] 强制开启 HTTPS,否则浏览器会拦截摄像头
|
||
hmr: {
|
||
protocol: 'wss',
|
||
clientPort: 5173
|
||
},
|
||
proxy: {
|
||
// 拦截所有以 /api 开头的请求
|
||
'/api': {
|
||
// 在 Docker 内部,直接用这个名字作为域名,就能找到它
|
||
target: 'http://inventory_api:8000',
|
||
changeOrigin: true,
|
||
// rewrite: (path) => path.replace(/^\/api/, '')
|
||
}
|
||
}
|
||
}
|
||
}) |