32 lines
1.6 KiB
TypeScript
32 lines
1.6 KiB
TypeScript
import { defineConfig } from "vite";
|
|
import react from "@vitejs/plugin-react";
|
|
|
|
// Dev: SPA на :5173 проксирует /api на бэкенд :8000 — пути одинаковы в dev и prod.
|
|
// Prod: dist отдаётся самим FastAPI (single-origin), прокси не нужен.
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
server: {
|
|
// Слушаем на всех интерфейсах (IPv4 + IPv6), чтобы и localhost, и 127.0.0.1
|
|
// работали без таймаута IPv4→IPv6 на Windows. Внимание: dev-сервер при этом
|
|
// доступен и из локальной сети (для разработки на своей машине это нормально).
|
|
host: true,
|
|
port: 5173,
|
|
// Разрешаем хост домена для режима LOCAL_PUBLIC=vps (dev виден на forbidden-stars.ru
|
|
// через SSH-туннель). localhost/127.0.0.1 vite пропускает по умолчанию.
|
|
// HMR через домен может не подключиться — это ок, само приложение работает.
|
|
allowedHosts: ["forbidden-stars.ru"],
|
|
proxy: {
|
|
"/api": {
|
|
// Явный IPv4: на Windows "localhost" может резолвиться в IPv6 ::1,
|
|
// куда uvicorn не слушает → задержка ~1 с на установку соединения.
|
|
target: "http://127.0.0.1:8000",
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
build: {
|
|
outDir: "dist",
|
|
sourcemap: false,
|
|
},
|
|
});
|