Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Початкова документація"v9.0.022.06.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Документація: Функція comparePaths в intlayer
Опис
Функція comparePaths порівнює два URL-адреси або шляхи на рівність, ігноруючи сегмент локалі, протокол/хост, рядок запиту (query string), хеш та кінцеві слеші. Це рекомендований спосіб визначення, чи вказує навігаційне посилання на поточну сторінку — наприклад, для виділення активного посилання — без необхідності писати власну (схильну до помилок) логіку нормалізації.
Внутрішньо вона повторно використовує getPathWithoutLocale для видалення сегмента локалі, тому вона враховує ваш налаштований режим маршрутизації та локалі.
Пакет також експортує базовий помічник normalizePath, який повертає канонічний шлях, незалежний від локалі, що використовується для порівняння.
Ключові особливості:
- Порівняння незалежно від локалі (
/uk/aboutзбігається з/about) - Працює як з абсолютними URL-адресами, так і з відносними шляхами
- Ігнорує рядок запиту, хеш та кінцеві слеші
- Допускає відсутність початкових слешів та порожні значення (нормалізується до
/) - Легковагова — побудована поверх
getPathWithoutLocale
Сигнатура функції
Скопіюйте код у буфер обміну
Параметри
pathname: string- Опис: Перший рядок URL або шлях для порівняння (зазвичай поточний шлях).
- Тип:
string - Обов'язково: Так
href: string- Опис: Другий рядок URL або шлях для порівняння (зазвичай
hrefнавігаційного посилання). - Тип:
string - Обов'язково: Так
- Опис: Другий рядок URL або шлях для порівняння (зазвичай
locales: Locales[]- Опис: Необов'язковий масив підтримуваних локалей. За замовчуванням використовуються локалі, налаштовані у проєкті.
- Тип:
Locales[] - Обов'язково: Ні (Необов'язково)
Повертає
- Тип:
boolean - Опис:
true, коли обидва входи розв'язуються в один і той самий шлях, незалежний від локалі, інакшеfalse.
Приклад використання
Базове використання
Скопіюйте код у буфер обміну
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-адреси
Скопіюйте код у буфер обміну
Виділення активного навігаційного посилання
Скопіюйте код у буфер обміну
normalizePath
normalizePath повертає канонічний шлях, незалежний від локалі, який використовується comparePaths. Вона видаляє сегмент локалі, протокол/хост, рядок запиту та хеш, забезпечує наявність одного початкового слеша, видаляє будь-які кінцеві слеші (крім кореня) і повертає / для порожніх значень.
Скопіюйте код у буфер обміну
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"
Пов'язані функції
getPathWithoutLocale: Видаляє сегмент локалі з URL-адреси або шляху.getPrefix: Визначає префікс URL-адреси для заданої локалі.getLocalizedUrl: Генерує локалізовану URL-адресу для певної локалі.
TypeScript
Скопіюйте код у буфер обміну