Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Fabric Apps obejmuje usługę hostowania zawartości statycznej, która tworzy, pakuje i udostępnia aplikację frontendu wraz z interfejsami API backendu. Po włączeniu hostingu statycznego interfejs CLI wdraża zbudowane zasoby do usługi Fabric i udostępnia publiczny adres URL, pod którym użytkownicy mogą uzyskać dostęp do aplikacji.
Wymagania wstępne
- Projekt Fabric Apps z aplikacją frontonu (na przykład React, Vue lub vanilla TypeScript).
- Polecenie kompilacji, które generuje statyczne dane wyjściowe (na przykład
npm run build).
Jak działa hosting statyczny
Podczas wdrażania przy włączonym hostingu statycznym interfejs wiersza polecenia wykonuje następujące kroki:
- Uruchamia skonfigurowane polecenie kompilacji (na przykład
npm run build). - Sprawdza, czy folder wyjściowy istnieje i zawiera pliki.
- Pakuje wszystkie pliki do skompresowanego archiwum ZIP (maksymalnie 100 MB).
- Przekazuje archiwum do hosta usługi Fabric Apps.
- Zwraca publiczny adres URL hostingu, pod którym aplikacja jest dostępna.
Konfigurowanie hostingu statycznego
Dodaj sekcję staticHosting pod services w pliku rayfin/rayfin.yml:
services:
staticHosting:
enabled: true
folder: dist
buildCommand: npm run build
indexDocument: index.html
Opcje konfiguracji
| Option | Required | Wartość domyślna | Opis |
|---|---|---|---|
enabled |
Yes | — | Ustaw na true, aby włączyć hosting statyczny. |
folder |
Yes | — | Folder wyjściowy zawierający wygenerowane pliki statyczne, względem root. |
root |
No | katalog główny projektu | Katalog główny projektu interfejsu użytkownika, względem katalogu głównego projektu. |
buildCommand |
No | — | Polecenie powłoki do uruchomienia przed pakowaniem (na przykład npm run build). |
indexDocument |
No | — | Domyślny dokument służąy do obsługi żądań katalogu (na przykład index.html). |
Przykład z oddzielnym katalogiem frontonu
Jeśli kod frontonu znajduje się w podkatalogu:
services:
staticHosting:
enabled: true
root: frontend
folder: dist
buildCommand: npm run build
indexDocument: index.html
Ta konfiguracja określa ścieżkę wyjściową jako <project-root>/frontend/dist.
Wdrażanie zawartości statycznej
Pełne wdrożenie
Po uruchomieniu npx rayfin up zasoby statyczne są wdrażane automatycznie w ramach wdrożenia całego stosu:
npx rayfin up
CLI kompiluje frontend, pakuje pliki wyjściowe i przesyła je wraz z konfiguracją backendu. Po wdrożeniu CLI wyświetla adres URL hostingu i zapisuje go w pliku .env.fabric-* jako VITE_RAYFIN_HOSTING_URL.
Autonomiczne wdrożenie statyczne
Użyj polecenia podrzędnego staticapp deploy , aby ponownie wdrożyć tylko zawartość statyczną bez ponownego uruchamiania pełnego wdrożenia:
npx rayfin up staticapp deploy
To polecenie jest przydatne w przypadku zmiany tylko kodu frontonu i szybszego cyklu iteracji.
Pomiń krok kompilacji
Jeśli fronton został już skompilowany i chcesz wdrożyć istniejące dane wyjściowe bez ponownego kompilowania:
npx rayfin up staticapp deploy --skip-build
Włącz szczegółowe logowanie
Pokaż szczegółowe dane wyjściowe podczas wdrażania:
npx rayfin up staticapp deploy --verbose
Konfiguracja wywołania zwrotnego uwierzytelniania
Gdy włączone są zarówno hosting statyczny, jak i uwierzytelnianie, Rayfin CLI automatycznie rejestruje URI wywołania zwrotnego do uwierzytelniania na podstawie adresu URL hostingu.
Jeśli na przykład adres URL hostingu to https://example.webapp.com, interfejs wiersza polecenia dodaje ten identyfikator URI wywołania zwrotnego:
services:
auth:
allowedRedirectUris:
- http://localhost:5173
- http://localhost:5173/auth/callback
- https://example.webapp.com/auth/callback
Nie musisz ręcznie konfigurować URI wywołania zwrotnego uwierzytelniania — CLI aktualizuje konfigurację i przesyła ją podczas wdrażania.
Limity rozmiaru wdrożenia
- Skompresowane archiwum ZIP nie może przekraczać 100 MB.
- Interfejs wiersza polecenia używa maksymalnej kompresji w celu zminimalizowania rozmiaru przekazywania.
- Jeśli dane wyjściowe kompilacji przekraczają limit, zoptymalizuj zasoby przez:
- Wykluczanie map źródłowych z kompilacji produkcyjnych.
- Kompresowanie lub usuwanie dużych obrazów i wideo.
- Przenoszenie plików binarnych do magazynu aplikacji Fabric zamiast dołączania ich do pakietu.
Kompletny przykład
Pełna rayfin.yml konfiguracja z włączonymi usługami hostingu statycznego, uwierzytelniania i danych:
id: my-app
name: my-app
version: 1.0.0
services:
auth:
enabled: true
allowedRedirectUris:
- http://localhost:5173
- http://localhost:5173/auth/callback
fabric:
enabled: true
data:
enabled: true
dialect: mssql
staticHosting:
enabled: true
folder: dist
buildCommand: npm run build
indexDocument: index.html
Testowanie lokalne
Przed wdrożeniem sprawdź, czy kompilacja statyczna działa lokalnie:
Skompiluj fronton:
npm run buildSprawdź, czy folder wyjściowy zawiera oczekiwane pliki:
ls distObsługa skompilowanych plików za pomocą lokalnego serwera statycznego:
npx serve distOtwórz adres URL wydrukowany przez serwer i sprawdź, czy aplikacja ładuje się poprawnie.
Rozwiązywanie problemów dotyczących wdrożenia
Nie znaleziono folderu statycznego
Jeśli interfejs wiersza polecenia zgłasza, że folder statyczny nie istnieje:
- Sprawdź, czy ścieżka
folderw plikurayfin.ymljest poprawna i względna względemroot(lub względem katalogu głównego projektu, jeślirootnie jest ustawione). - Upewnij się, że polecenie kompilacji przebiegło pomyślnie i wygenerowało dane wyjściowe w oczekiwanym katalogu.
Pusty folder statyczny
Pusty folder wyjściowy zwykle oznacza, że polecenie kompilacji nie powiodło się lub nie wygenerowało danych wyjściowych. Uruchom polecenie kompilacji ręcznie, aby sprawdzić, czy występują błędy:
npm run build
Wdrożenie przekracza limit rozmiaru
Jeśli plik ZIP przekracza 100 MB:
- Przejrzyj dane wyjściowe kompilacji pod kątem niepotrzebnych plików (mapy źródłowe, zasoby programistyczne).
- Skonfiguruj pakiet do wykluczania map źródłowych w kompilacjach produkcyjnych.
- Przenieś duże pliki binarne do magazynu Fabric Apps.
Nie skonfigurowano zdalnego punktu końcowego
Polecenie npx rayfin up staticapp deploy wymaga istniejącego wdrożenia zdalnego. Najpierw uruchom npx rayfin up, aby skonfigurować zdalny punkt końcowy, a następnie użyj staticapp deploy do kolejnych aktualizacji.