Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Scalono configOptions w jeden obiekt opcji; proxy jest wbudowane w intlayer()"v9.0.025.06.2026
Treść tej strony została przetłumaczona przy użyciu sztucznej inteligencji.
Zobacz ostatnią wersję oryginalnej treści w języku angielskimJeśli masz pomysł na ulepszenie tej dokumentacji, zachęcamy do przesłania pull requesta na GitHubie.
Link do dokumentacji na GitHubieKopiuj dokument Markdown do schowka
intlayerProxy
intlayerProxy to wtyczka Vite, która rejestruje oprogramowanie pośredniczące (middleware) do routingu języków dla każdego środowiska: serwera deweloperskiego, serwera podglądu i produkcyjnego SSR (Nitro / TanStack Start).
Od Intlayer v9intlayerProxyjest automatycznie dołączany do głównej wtyczkiintlayer()i domyślnie włączony poprzezrouting.enableProxy: true. Musisz go zarejestrować osobno tylko wtedy, gdy potrzebujesz kontroli na niższym poziomie lub używasz go poza standardową konfiguracjąintlayer().
Użycie
Jako część intlayer() (zalecane, v9+)
Przekaż opcje proxy do głównej wtyczki zamiast rejestrować intlayerProxy osobno:
Skopiuj kod do schowka
Samodzielnie (w razie potrzeby)
Skopiuj kod do schowka
Opcje
Skopiuj kod do schowka
Wszystkie opcje są opcjonalne i przekazywane jako pojedynczy obiekt:
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Opcja | Typ | Opis |
|---|---|---|
ignore | (req: IncomingMessage) => boolean | Predykat wykluczający żądania z routingu języków. Zwróć true, aby pominąć żądanie (np. ścieżki API, testy kondycji/health checki). |
configOptions | GetConfigurationOptions | Nadpisania konfiguracji Intlayer przekazywane do getConfiguration(). Użyj, gdy potrzebujesz, aby proxy czytało określony plik konfiguracyjny lub nadpisywało wartości. |
Przykład
Skopiuj kod do schowka
createIntlayerProxyHandler
createIntlayerProxyHandler tworzy samodzielne, niezależne od frameworka oprogramowanie pośredniczące Node.js (req, res, next), które zawiera całą logikę routingu języków. Jest przydatne w środowiskach, w których API wtyczek Vite jest niedostępne (np. czysty serwer Node.js lub niestandardowy moduł Nitro).
Skopiuj kod do schowka
Produkcyjny SSR (TanStack Start / Nitro przez h3)
Skopiuj kod do schowka
Zachowanie routingu
Oprogramowanie pośredniczące odzwierciedla logikę routingu z middleware next-intlayer i obsługuje wszystkie tryby routingu Intlayer.
Tryby routingu
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Tryb | Widoczność URL w przeglądarce | Zachowanie |
|---|---|---|
prefix | /pl/about | Domyślny. Prefiks języka w adresie URL. Domyślny język przekierowuje do adresu URL bez prefiksu, chyba że włączono prefix-all. |
prefix-all | /en/about, /pl/about | Wszystkie języki — w tym domyślny — są zawsze poprzedzone prefiksem. |
no-prefix | /about | Brak języka w adresie URL. Język jest przechowywany wyłącznie w plikach cookie; przepisywanie URL odbywa się wewnętrznie. |
search-params | /about?locale=pl | Język przekazywany jako parametr zapytania (query parameter). Przekierowuje w celu dodania/aktualizacji parametru locale, jeśli go brakuje lub jest przestarzały. |
Priorytet wykrywania
- Prefiks ścieżki URL (np.
/pl/about→pl). - Wartość pliku cookie / localStorage (
intlayer-locale). - Nagłówek
Accept-Language. defaultLocalez konfiguracji.
Automatyczne pomijanie (bypass)
Oprogramowanie pośredniczące zawsze przepuszcza te żądania bezpośrednio, bez obsługi języka:
- Żądania pasujące do predykatu
ignore. /node_modules/**/@**– wewnętrzne zasoby Vite (@vite/,@fs/,@id/itp.)./_**– wewnętrzne zasoby serwera (__vite_ping,__manifestitp.).- Żądania, których ścieżka kończy się rozszerzeniem pliku (zasoby statyczne). Jeśli w ścieżce zasobu statycznego obecny jest prefiks języka (np.
/pl/logo.png), zostaje on usunięty, aby plik mógł być serwowany poprawnie.
Routing domenowy
Gdy w konfiguracji Intlayer skonfigurowano routing.domains, oprogramowanie pośredniczące obsługuje routing językowy między różnymi domenami:
- Żądanie dla
/zh/aboutw domenieintlayer.orgjest przekierowywane nahttps://intlayer.zh/about, gdydomains.zh = "intlayer.zh". - Żądanie do
intlayer.zh/aboutjest wewnętrznie przepisywane na/zh/about, aby parametr trasy[locale]został uzupełniony.
Ochrona przed pętlą przekierowań
Oprogramowanie pośredniczące śledzi liczbę przekierowań dla pary originalUrl → newUrl w ruchomym oknie 2 sekund. Więcej niż 10 przekierowań w tym oknie zwraca odpowiedź 500 z opisowym błędem zamiast zapętlania się w nieskończoność.
Nitro / produkcyjny SSR (automatyczna iniekcja, v9+)
Gdy intlayerProxy jest używany jako wtyczka Vite, niesie ze sobą właściwość .nitro. Wtyczka budująca nitro/vite odczytuje tę właściwość i wstrzykuje ją do nitroConfig.modules, dzięki czemu intlayerNitroHandler rejestruje się jako serwerowe oprogramowanie pośredniczące Nitro automatycznie — dla produkcyjnego SSR nie jest wymagana żadna ręczna konfiguracja.
Handler Nitro korzysta z modelu zdarzeń Web Fetch API h3 v2 (nie fromNodeMiddleware), więc jest kompatybilny ze wszystkimi szablonami (presets) Nitro: Node, Bun, Deno, środowiskami edge.
Zdeprecjonowane aliasy
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Zdeprecjonowany eksport | Zamiennik |
|---|---|
intlayerMiddleware | intlayerProxy |
intLayerMiddlewarePlugin | intlayerProxy |
