Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "Initiale Dokumentation"v9.0.022.6.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
Dokumentation: Funktion comparePaths in intlayer
Beschreibung
Die Funktion comparePaths vergleicht zwei URLs oder Pfade auf Gleichheit und ignoriert dabei das Locale-Segment, das Protokoll/den Host, die Suchanfrage (Query-String), den Hash und abschließende Schrägstriche (Trailing Slashes). Dies ist die empfohlene Methode, um festzustellen, ob ein Navigationslink auf die aktuelle Seite verweist — beispielsweise um den aktiven Link hervorzuheben —, ohne dass Sie eine eigene (fehleranfällige) Normalisierungslogik erstellen müssen.
Intern verwendet sie getPathWithoutLocale, um das Locale-Segment zu entfernen, sodass Ihr konfiguriertes Routing-Verfahren und Ihre Locales berücksichtigt werden.
Das Paket exportiert auch den zugrundeliegenden Helper normalizePath, der den kanonischen, Locale-unabhängigen Pfad für den Vergleich zurückgibt.
Hauptmerkmale:
- Locale-unabhängiger Vergleich (
/de/aboutentspricht/about) - Funktioniert sowohl mit absoluten URLs als auch mit relativen Pfaden
- Ignoriert Query-Strings, Hashes und abschließende Schrägstriche
- Toleriert fehlende führende Schrägstriche und leere Werte (normalisiert zu
/) - Leichtgewichtig — baut auf
getPathWithoutLocaleauf
Funktionssignatur
Kopieren Sie den Code in die Zwischenablage
Parameter
pathname: string- Beschreibung: Der erste zu vergleichende URL-String oder Pfad (üblicherweise der aktuelle Pfad).
- Typ:
string - Erforderlich: Ja
href: string- Beschreibung: Der zweite zu vergleichende URL-String oder Pfad (üblicherweise das
hrefeines Navigationslinks). - Typ:
string - Erforderlich: Ja
- Beschreibung: Der zweite zu vergleichende URL-String oder Pfad (üblicherweise das
locales: Locales[]- Beschreibung: Optionales Array unterstützter Locales. Standardmäßig die im Projekt konfigurierten Locales.
- Typ:
Locales[] - Erforderlich: Nein (Optional)
Rückgabewert
- Typ:
boolean - Beschreibung:
true, wenn beide Eingaben auf denselben Locale-unabhängigen Pfad auflösen, ansonstenfalse.
Anwendungsbeispiel
Grundlegende Nutzung
Kopieren Sie den Code in die Zwischenablage
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"); // false
Absolute und relative URLs
Kopieren Sie den Code in die Zwischenablage
Hervorheben des aktiven Navigationslinks
Kopieren Sie den Code in die Zwischenablage
normalizePath
normalizePath gibt den kanonischen, Locale-unabhängigen Pfad zurück, der von comparePaths verwendet wird. Es entfernt das Locale-Segment, das Protokoll/den Host, den Query-String und den Hash, stellt einen einzelnen führenden Schrägstrich sicher, entfernt jegliche abschließenden Schrägstriche (außer für das Stammverzeichnis) und greift für leere Werte auf / zurück.
Kopieren Sie den Code in die Zwischenablage
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"
Verwandte Funktionen
getPathWithoutLocale: Entfernt das Locale-Segment aus einer URL oder einem Pfad.getPrefix: Ermittelt das URL-Präfix für ein bestimmtes Locale.getLocalizedUrl: Generiert eine lokalisierte URL für ein bestimmtes Locale.
TypeScript
Kopieren Sie den Code in die Zwischenablage