KIEDY PROSTE ODŚWIEŻENIE ZEPSUŁO NASZĄ APLIKACJĘ
Znaleźliśmy błąd. Główne trasy działały poprawnie. Głębokie trasy powodowały pełne przeładowania strony. Pasek boczny resetował się za każdym razem. Aplikacja wydawała się niestabilna.
Działało lokalnie. Nie działało na produkcji.
Używaliśmy Next.js static export na Azure Static Web Apps. Ta konfiguracja nie posiada środowiska uruchomieniowego serwera (server runtime). Serwuje pliki statyczne.
Problemem była nawigacja typu soft navigation. Next.js potrzebuje danych payload trasy do płynnych przejść. Do pierwszego ładowania potrzebuje HTML.
Nasze reguły rewrite w Azure były zbyt ogólne. Azure wysyłało HTML, gdy Next.js prosiło o dane payload. Router zawodził. Aplikacja przeładowywała się.
Naprawiliśmy to za pomocą automatyzacji. Stworzyliśmy narzędzie do generowania reguł rewrite na podstawie wyników budowania (build output). Narzędzie teraz:
- Skanuje pliki dynamicznych tras.
- Tworzy specyficzne reguły dla HTML i payloadów.
- Porządkuje reguły według priorytetu.
- Zapisuje końcowy plik konfiguracyjny.
To wyeliminowało błędy manualne.
Jeśli używasz static export na Azure:
- Automatyzuj swoje pliki konfiguracyjne.
- Testuj soft navigation.
- Sprawdź, czy zapytania o payload zwracają HTML.
- Traktuj reguły rewrite jako krytyczną infrastrukturę.
Trudne błędy frontendowe często kryją się pomiędzy wynikiem budowania a regułami hostingu.