90 lines
2.4 KiB
Markdown
90 lines
2.4 KiB
Markdown
# Neue Vite Asset-URL Struktur
|
|
|
|
## ✅ Neue saubere Trennung
|
|
|
|
Jede Domain hat jetzt ihre eigene dedizierte Asset-Subdomain:
|
|
|
|
| Domain | Asset-Subdomain | Port | Vite-Config |
|
|
|--------|----------------|------|-------------|
|
|
| `presseportale.test` | `assets.presseportale.test` | 5177 | `vite.portal.config.js` |
|
|
| `presseecho.test` | `assets.presseecho.test` | 5178 | `vite.web.config.js` |
|
|
| `businessportal24.test` | `assets.businessportal24.test` | 5178 | `vite.web.config.js` |
|
|
|
|
## 📋 Notwendige Schritte
|
|
|
|
### 1. DNS / Hosts-Datei aktualisieren
|
|
|
|
Füge folgende Einträge zu deiner Hosts-Datei hinzu (lokal auf deinem Host-System, NICHT im Container):
|
|
|
|
**macOS/Linux**: `/etc/hosts`
|
|
**Windows**: `C:\Windows\System32\drivers\etc\hosts`
|
|
|
|
```
|
|
127.0.0.1 assets.presseportale.test
|
|
127.0.0.1 assets.presseecho.test
|
|
127.0.0.1 assets.businessportal24.test
|
|
```
|
|
|
|
### 2. Docker Container neu starten
|
|
|
|
Die Traefik-Konfiguration wurde aktualisiert. Starte die Container neu:
|
|
|
|
```bash
|
|
# Auf dem Host-System (außerhalb des Containers):
|
|
docker compose restart
|
|
```
|
|
|
|
### 3. Vite-Server starten
|
|
|
|
Im DevContainer:
|
|
|
|
```bash
|
|
cd /var/www/html
|
|
npm run dev:all
|
|
```
|
|
|
|
## 🔧 Was wurde geändert?
|
|
|
|
### 1. `docker-compose.yml`
|
|
Neue Traefik-Routen hinzugefügt:
|
|
- `assets.presseportale.test` → Port 5177 (Portal)
|
|
- `assets.presseecho.test` → Port 5178 (Presseecho)
|
|
- `assets.businessportal24.test` → Port 5178 (Businessportal24)
|
|
|
|
### 2. `app/Helpers/ThemeHelper.php`
|
|
Neue Methode `getAssetUrl()` die die richtige Asset-URL basierend auf dem Theme zurückgibt.
|
|
|
|
### 3. `app/Providers/AppServiceProvider.php`
|
|
Setzt die Asset-URL dynamisch basierend auf der aktuellen Domain.
|
|
|
|
### 4. `vite.web.config.js`
|
|
HMR-Konfiguration vorbereitet für dynamische Host-Zuweisung.
|
|
|
|
## 🧪 Testen
|
|
|
|
Nach dem Neustart kannst du testen:
|
|
|
|
```bash
|
|
# Im DevContainer:
|
|
curl -Ik https://assets.presseportale.test/@vite/client
|
|
curl -Ik https://assets.presseecho.test/@vite/client
|
|
curl -Ik https://assets.businessportal24.test/@vite/client
|
|
```
|
|
|
|
Alle sollten einen 200 OK Status zurückgeben (nachdem die Vite-Server laufen).
|
|
|
|
## 🎯 Vorteile der neuen Struktur
|
|
|
|
✅ Saubere Trennung pro Domain
|
|
✅ Keine Konflikte zwischen Portal und Web
|
|
✅ Einfacher zu debuggen
|
|
✅ Klare URL-Struktur
|
|
✅ Flexibel erweiterbar für neue Domains
|
|
|
|
## ⚠️ Wichtig
|
|
|
|
Die Vite-Server müssen laufen, damit die Assets geladen werden können:
|
|
- **Entwicklung**: `npm run dev:all`
|
|
- **Produktion**: Assets werden aus `public/build/*` geladen (kein Vite-Server nötig)
|
|
|
|
|