Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Historique des versions
- "Documentation initiale"v9.0.022/06/2026
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisSi vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentationCopier le Markdown du doc dans le presse-papiers
Documentation : Fonction comparePaths dans intlayer
Description
La fonction comparePaths compare deux URL ou chemins pour vérifier leur égalité tout en ignorant le segment de la locale, le protocole/domaine, la chaîne de requête (query string), le hash et les barres obliques de fin (trailing slashes). C'est la méthode recommandée pour déterminer si un lien de navigation pointe vers la page courante — par exemple pour mettre en évidence le lien actif — sans avoir à recréer votre propre logique de normalisation (sujette aux erreurs).
En interne, elle réutilise getPathWithoutLocale pour supprimer le segment de la locale, de sorte qu'elle respecte votre mode de routage et vos locales configurés.
Le package exporte également la fonction utilitaire sous-jacente normalizePath, qui retourne le chemin canonique, indépendant de la locale, utilisé pour la comparaison.
Fonctionnalités clés :
- Comparaison indépendante de la locale (
/fr/aboutcorrespond à/about) - Fonctionne avec des URL absolues et des chemins relatifs
- Ignore la chaîne de requête, le hash et les barres obliques de fin
- Tolère l'absence de barre oblique initiale et les valeurs vides (normalisé en
/) - Léger — construit par-dessus
getPathWithoutLocale
Signature de la fonction
Copier le code dans le presse-papiers
Paramètres
pathname: string- Description : La première chaîne d'URL ou de chemin à comparer (généralement le chemin actuel).
- Type :
string - Requis : Oui
href: string- Description : La deuxième chaîne d'URL ou de chemin à comparer (généralement le
hrefd'un lien de navigation). - Type :
string - Requis : Oui
- Description : La deuxième chaîne d'URL ou de chemin à comparer (généralement le
locales: Locales[]- Description : Tableau optionnel des locales prises en charge. Par défaut, les locales configurées dans le projet.
- Type :
Locales[] - Requis : Non (Optionnel)
Retours
- Type :
boolean - Description :
truelorsque les deux entrées se résolvent vers le même chemin indépendant de la locale, sinonfalse.
Exemple d'utilisation
Utilisation de base
Copier le code dans le presse-papiers
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
URL absolues et relatives
Copier le code dans le presse-papiers
Mettre en évidence le lien de navigation actif
Copier le code dans le presse-papiers
normalizePath
normalizePath retourne le chemin canonique et indépendant de la locale utilisé par comparePaths. Il supprime le segment de la locale, le protocole/domaine, la chaîne de requête et le hash, assure la présence d'une seule barre oblique initiale, supprime toute barre oblique de fin (sauf pour la racine) et utilise / comme valeur de repli pour les valeurs vides.
Copier le code dans le presse-papiers
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"
Fonctions associées
getPathWithoutLocale: Supprime le segment de la locale d'une URL ou d'un chemin.getPrefix: Détermine le préfixe d'URL pour une locale donnée.getLocalizedUrl: Génère une URL localisée pour une locale spécifique.
TypeScript
Copier le code dans le presse-papiers