Die Seiten verlinkten /css/app.css, das es seit dem React-Umbau nicht mehr gibt. Jetzt liegen sie unter frontend/static/docs, Vite baut sie mit und schreibt den Link auf das gehashte app.css um; serveDoc liefert sie unter den bisherigen Adressen /static/docs/… aus web/ aus. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
import { defineConfig } from "vite";
|
|
import react from "@vitejs/plugin-react";
|
|
|
|
// Im Dev-Betrieb läuft das Go-Backend separat (siehe dev.env, Port 8081).
|
|
// Vite reicht /api und /static dorthin durch -- für den Browser bleibt alles
|
|
// eine Origin, Session-Cookie und Origin-Check funktionieren unverändert.
|
|
//
|
|
// changeOrigin: false ist Pflicht: die Kurzform (nur URL) setzt es auf true
|
|
// und schreibt den Host-Header auf das Backend um. Dann passt der Origin des
|
|
// Browsers nicht mehr zum Host und checkOrigin weist jeden POST als CSRF ab.
|
|
const backend = process.env.KVER_BACKEND ?? "http://127.0.0.1:8081";
|
|
const proxy = { target: backend, changeOrigin: false };
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
// Das Go-Backend liefert das Build aus web/ aus (siehe frontend.go).
|
|
// emptyOutDir muss explizit an sein, weil das Ziel außerhalb von frontend/
|
|
// liegt.
|
|
// Die Rechtstexte sind eigene statische Seiten ohne JS; als weitere Einstiege
|
|
// bekommen sie dasselbe gebaute app.css wie die App.
|
|
build: {
|
|
outDir: "../web",
|
|
emptyOutDir: true,
|
|
rollupOptions: {
|
|
input: [
|
|
"index.html",
|
|
"static/docs/impressum.html",
|
|
"static/docs/datenschutz.html",
|
|
"static/docs/beitragsordnung.html",
|
|
],
|
|
},
|
|
},
|
|
server: {
|
|
proxy: {
|
|
"/api": proxy,
|
|
"/static": proxy,
|
|
},
|
|
},
|
|
});
|