player/vite.config.js
МИН 6d86aa7c36 docs: переводы оставшихся английских комментариев на русский
- src/api/API.js — комменты, описание env
- vite.config.js — описание полей
- src/App.jsx — IndexRoute (текст «Плеер Рублокса»)
- src/KubikonPlayer/KubikonPlayer.jsx — exitPlayer
- src/engine/PlayerController.js — _storysApiUrl
- src/engine/GameRuntime.js — _resolveExternalUrl
- src/engine/devlog.js — убрал упоминания приватных путей разработчика
- src/fixtures/sample-game.json — title/description
2026-05-27 23:18:38 +03:00

56 lines
2.3 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { defineConfig, loadEnv } from 'vite';
import react from '@vitejs/plugin-react';
// Vite-конфиг плеера Рублокса.
//
// - порт 5173 фиксирован (код плеера и внешние ссылки на него рассчитывают)
// - outDir 'build' (деплоится в nginx /var/www/rublox-player/build/)
// - manualChunks выносят babylon/colyseus в отдельные чанки
// (движок ~46к строк, single-bundle >5 МБ; браузер парсит дольше)
// - define для process.env.NODE_ENV — шим для engine-кода, который
// использовал CRA-провайденный глобал
// - dev-proxy по умолчанию ходит на staging; переопределяй через
// VITE_API_PROXY_TARGET в .env.development.local чтобы указать свой бэкенд.
export default defineConfig(({ mode }) => {
// Грузим env чтобы взять VITE_API_PROXY_TARGET для proxy-конфига.
const env = loadEnv(mode, process.cwd(), '');
const PROXY_TARGET = env.VITE_API_PROXY_TARGET || 'https://dev-api.rublox.pro';
// Все префиксы бэкенда с которыми общается плеер.
// Каждая запись создаёт Vite-proxy: /api-X/* → ${PROXY_TARGET}/api-X/*
const proxyPrefixes = ['/api-user', '/api-storys', '/api-game'];
const proxy = Object.fromEntries(
proxyPrefixes.map((p) => [
p,
{ target: PROXY_TARGET, changeOrigin: true, secure: true, ws: true },
])
);
return {
plugins: [react()],
server: {
// Явно биндим IPv4 — Vite по умолчанию слушает [::1] на Windows,
// что ломает IPv4-localhost (ECONNREFUSED от curl/браузера).
host: '127.0.0.1',
port: 5173,
strictPort: true,
proxy,
},
build: {
outDir: 'build',
sourcemap: false,
rollupOptions: {
output: {
manualChunks: {
babylon: ['@babylonjs/core', '@babylonjs/loaders'],
colyseus: ['colyseus.js'],
},
},
},
},
define: {
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
},
};
});