Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Początkowa dokumentacja"v9.0.022.06.2026
Treść tej strony została przetłumaczona przy użyciu sztucznej inteligencji.
Zobacz ostatnią wersję oryginalnej treści w języku angielskimIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Dokumentacja: Funkcja comparePaths w intlayer
Opis
Funkcja comparePaths porównuje dwa adresy URL lub ścieżki pod kątem równości, ignorując segment regionalny (locale), protokół/host, ciąg zapytań (query string), hash oraz końcowe ukośniki (trailing slashes). Jest to zalecany sposób na sprawdzenie, czy link nawigacyjny wskazuje na bieżącą stronę — na przykład w celu podświetlenia aktywnego linku — bez konieczności tworzenia własnej (podatnej na błędy) logiki normalizacji.
Wewnętrznie używa getPathWithoutLocale do usunięcia segmentu locale, dzięki czemu respektuje skonfigurowany tryb routingu oraz języki.
Pakiet eksportuje również pomocniczą funkcję normalizePath, która zwraca kanoniczną, niezależną od locale ścieżkę używaną do porównania.
Kluczowe cechy:
- Porównywanie niezależne od locale (
/pl/aboutpasuje do/about) - Działa zarówno z bezwzględnymi adresami URL, jak i względnymi ścieżkami
- Ignoruje ciągi zapytań, hashe i końcowe ukośniki
- Toleruje brakujące ukośniki początkowe i puste wartości (normalizuje do
/) - Lekka — zbudowana w oparciu o
getPathWithoutLocale
Sygnatura funkcji
Skopiuj kod do schowka
comparePaths( pathname: string, // Wymagane href: string, // Wymagane locales?: Locales[] // Opcjonalne): booleannormalizePath( inputUrl: string, // Wymagane locales?: Locales[] // Opcjonalne): stringParametry
pathname: string- Opis: Pierwszy ciąg URL lub ścieżka do porównania (zazwyczaj bieżąca ścieżka).
- Typ:
string - Wymagane: Tak
href: string- Opis: Drugi ciąg URL lub ścieżka do porównania (zazwyczaj
hreflinku nawigacyjnego). - Typ:
string - Wymagane: Tak
- Opis: Drugi ciąg URL lub ścieżka do porównania (zazwyczaj
locales: Locales[]- Opis: Opcjonalna tablica obsługiwanych języków (locales). Domyślnie są to języki skonfigurowane w projekcie.
- Typ:
Locales[] - Wymagane: Nie (Opcjonalne)
Zwraca
- Typ:
boolean - Opis:
true, gdy oba wejścia rozwiązują się do tej samej ścieżki niezależnej od locale, w przeciwnym raziefalse.
Przykłady użycia
Podstawowe użycie
Skopiuj kod do schowka
import { comparePaths } from "intlayer";
comparePaths("/ru/path", "/path"); // true
comparePaths("/ru/path/", "/path"); // true
comparePaths("/ru/path", "/path/"); // true
comparePaths("/ru/", "/"); // true
comparePaths("/ru", "/"); // true
comparePaths("ru/path", "/path"); // true
comparePaths("", "/"); // true
comparePaths("/ru", ""); // true
comparePaths("/ru/path", "/other"); // falseBezwzględne i względne adresy URL
Skopiuj kod do schowka
import { comparePaths } from "intlayer";comparePaths("https://example.com/ru/path", "/path"); // truePodświetlanie aktywnego linku nawigacyjnego
Skopiuj kod do schowka
import { comparePaths } from "intlayer";import { useLocation } from "react-router";const NavLink = ({ href, children }) => { const { pathname } = useLocation(); const isActive = comparePaths(pathname, href); return ( <a href={href} aria-current={isActive ? "page" : undefined}> {children} </a> );};normalizePath
normalizePath zwraca kanoniczną, niezależną od locale ścieżkę używaną przez comparePaths. Usuwa ona segment locale, protokół/host, ciąg zapytań i hash, zapewnia obecność pojedynczego ukośnika początkowego, usuwa wszelkie ukośniki końcowe (z wyjątkiem ścieżki głównej) i domyślnie przyjmuje / dla pustych wartości.
Skopiuj kod do schowka
import { normalizePath } from "intlayer";
normalizePath("/ru/path"); // "/path"
normalizePath("/ru/path/"); // "/path"
normalizePath("ru/path"); // "/path"
normalizePath("/ru/"); // "/"
normalizePath("/ru"); // "/"
normalizePath(""); // "/"
normalizePath("https://example.com/ru/path"); // "/path"Powiązane funkcje
getPathWithoutLocale: Usuwa segment locale z adresu URL lub ścieżki.getPrefix: Określa prefiks URL dla danego locale.getLocalizedUrl: Generuje zlokalizowany adres URL dla określonego locale.
TypeScript
Skopiuj kod do schowka
function normalizePath(inputUrl: string, locales?: Locales[]): string;function comparePaths( pathname: string, href: string, locales?: Locales[]): boolean;