Lokale-Entwicklung hinzugefügt

2026-06-26 09:39:30 +02:00
parent bf778aba58
commit b808748fb1
+65
@@ -0,0 +1,65 @@
Willkommen im Wiki.# Lokale Entwicklung
## Dev-Server starten
```bash
ng serve
```
Der Proxy (`proxy.conf.json`) ist in `angular.json` unter `serve.options.proxyConfig` eingetragen und wird automatisch verwendet — kein `--proxy-config` Flag nötig.
Die App ist erreichbar unter: `http://localhost:4200`
## Wie der Dev-Proxy funktioniert
| Request vom Browser | Proxy leitet weiter an |
| --- | --- |
| `/api/items/landingpage` | `http://directus.neugasse.lan/items/landingpage` + Token |
| `/api/assets/<uuid>` | `http://directus.neugasse.lan/assets/<uuid>` + Token |
| `/tasmota1/...` | `http://10.0.0.31/...` |
| `/tasmota2/...` | `http://10.0.0.32/...` |
Der Token wird aus `proxy.conf.json` injiziert — nicht aus dem Code.
## Debugging
### API-Antwort direkt prüfen
```bash
# Mit Token — sollte JSON liefern
curl -H "Authorization: Bearer DEIN_TOKEN" \
http://directus.neugasse.lan/items/landingpage | python3 -m json.tool | head -30
# Über Dev-Proxy (ng serve muss laufen)
curl http://localhost:4200/api/items/landingpage | python3 -m json.tool | head -30
```
### Browser DevTools
- **Network-Tab** → fehlgeschlagene Requests anklicken → Request URL und Headers prüfen
- URL muss `/api/items/landingpage` sein (relativ) — nie `http://directus.neugasse.lan/...`
- `Authorization`-Header muss im Request vorhanden sein
### Häufige Fehler
| Fehler | Ursache | Fix |
| --- | --- | --- |
| 403 Forbidden | Token fehlt oder falsch | `proxy.conf.json` prüfen |
| 404 auf `/api/assets/?width=200` | `link.bild` ist `null` | Directus-Eintrag prüfen |
| `ng` öffnet Editor | Debian-`ng`-Konflikt | `sudo mv /usr/bin/ng /usr/bin/ng-editor` |
| Proxy greift nicht | `proxyConfig` fehlt in `angular.json` | Siehe Installation |
## Source-Map-Warnung in Firefox
```
Source-Map-Fehler: Error: request failed with status 404
Ressourcen-Adresse: http://localhost:4200/@vite/client
```
Diese Warnung ist harmlos — Angular CLI 21 verwendet Vite intern, Firefox DevTools findet keine Source-Maps für Vite-interne Dateien. Hat keinen Einfluss auf die App, einfach ignorieren.
## Directus-Items müssen `published` sein
Directus liefert standardmäßig nur Items mit `status: published`.
Items im Status `draft` erscheinen nicht in der Landing Page.
In Directus Admin-UI → Collection → Item → Status auf `published` setzen.