Pose una domanda e ottieni un riassunto del documento facendo riferimento a questa pagina e al provider AI di tua scelta
Cronologia delle versioni
- "Documentazione iniziale"v9.0.022/06/2026
Il contenuto di questa pagina è stato tradotto con un'IA.
Vedi l'ultima versione del contenuto originale in ingleseIf 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
Documentazione: Funzione comparePaths in intlayer
Descrizione
La funzione comparePaths confronta due URL o percorsi per verificarne l'uguaglianza ignorando il segmento locale, il protocollo/host, la query string, l'hash e le barre finali. È il metodo consigliato per determinare se un link di navigazione punta alla pagina corrente — ad esempio per evidenziare il link attivo — senza dover creare una logica di normalizzazione personalizzata (soggetta a errori).
Internamente riutilizza getPathWithoutLocale per rimuovere il segmento locale, in modo da rispettare la modalità di routing e i locale configurati.
Il pacchetto esporta anche l'utility sottostante normalizePath, che restituisce il percorso canonico, indipendente dal locale, utilizzato per il confronto.
Funzionalità chiave:
- Confronto indipendente dal locale (
/it/aboutcorrisponde a/about) - Funziona sia con URL assoluti che con percorsi relativi
- Ignora query string, hash e barre finali
- Tollera l'assenza di barre iniziali e valori vuoti (normalizzato a
/) - Leggero — basato su
getPathWithoutLocale
Firma della funzione
Copiare il codice nella clipboard
comparePaths( pathname: string, // Richiesto href: string, // Richiesto locales?: Locales[] // Opzionale): booleannormalizePath( inputUrl: string, // Richiesto locales?: Locales[] // Opzionale): stringParametri
pathname: string- Descrizione: La prima stringa URL o percorso da confrontare (in genere il percorso corrente).
- Tipo:
string - Richiesto: Sì
href: string- Descrizione: La seconda stringa URL o percorso da confrontare (in genere l'
hrefdi un link di navigazione). - Tipo:
string - Richiesto: Sì
- Descrizione: La seconda stringa URL o percorso da confrontare (in genere l'
locales: Locales[]- Descrizione: Array opzionale di locale supportati. Per impostazione predefinita, i locale configurati nel progetto.
- Tipo:
Locales[] - Richiesto: No (Opzionale)
Restituisce
- Tipo:
boolean - Descrizione:
truequando entrambi gli input si risolvono allo stesso percorso indipendente dal locale, altrimentifalse.
Esempio di utilizzo
Utilizzo di base
Copiare il codice nella clipboard
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"); // falseURL assoluti e relativi
Copiare il codice nella clipboard
import { comparePaths } from "intlayer";comparePaths("https://example.com/ru/path", "/path"); // trueEvidenziare il link di navigazione attivo
Copiare il codice nella clipboard
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 restituisce il percorso canonico e indipendente dal locale utilizzato da comparePaths. Rimuove il segmento locale, il protocollo/host, la query string e l'hash, assicura la presenza di una singola barra iniziale, rimuove qualsiasi barra finale (tranne che per la root) e utilizza / come fallback per i valori vuoti.
Copiare il codice nella clipboard
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"Funzioni correlate
getPathWithoutLocale: Rimuove il segmento locale da un URL o percorso.getPrefix: Determina il prefisso URL per un dato locale.getLocalizedUrl: Genera un URL localizzato per uno specifico locale.
TypeScript
Copiare il codice nella clipboard
function normalizePath(inputUrl: string, locales?: Locales[]): string;function comparePaths( pathname: string, href: string, locales?: Locales[]): boolean;