Yazar:
    Oluşturma:2026-06-22Son güncelleme:2026-06-22

    Dokümantasyon: intlayer İçinde comparePaths Fonksiyonu

    Açıklama

    comparePaths fonksiyonu, locale (dil) segmentini, protokolü/sunucuyu, sorgu dizesini, karma değerini (hash) ve sondaki eğik çizgileri göz ardı ederek iki URL'nin veya yolun eşitliğini karşılaştırır. Bir gezinme bağlantısının mevcut sayfayı işaret edip etmediğini belirlemenin —örneğin aktif bağlantıyı vurgulamak için— kendi (hataya açık) normalleştirme mantığınızı yazmanıza gerek kalmadan önerilen yoludur.

    İçeride locale segmentini kaldırmak için getPathWithoutLocale'i yeniden kullanır, böylece yapılandırılmış yönlendirme modunuza ve dillerinize saygı duyar.

    Paket ayrıca, karşılaştırma için kullanılan standartlaştırılmış, dilden bağımsız yolu döndüren temel normalizePath yardımcısını da dışa aktarır.

    Anahtar Özellikler:

    • Dilden bağımsız karşılaştırma (/tr/about, /about ile eşleşir)
    • Hem mutlak URL'lerle hem de göreceli yollarla çalışır
    • Sorgu dizesini, karmayı ve sondaki eğik çizgileri yoksayar
    • Eksik baştaki eğik çizgileri ve boş değerleri tolere eder (/ olarak normalleştirilir)
    • Hafif — getPathWithoutLocale üzerine inşa edilmiştir

    Fonksiyon İmzası

    typescript
    comparePaths(  pathname: string,  // Gerekli  href: string,      // Gerekli  locales?: Locales[] // İsteğe Bağlı): booleannormalizePath(  inputUrl: string,   // Gerekli  locales?: Locales[] // İsteğe Bağlı): string

    Parametreler

    • pathname: string

      • Açıklama: Karşılaştırılacak ilk URL dizesi veya yolu (genellikle mevcut yol).
      • Tip: string
      • Gerekli: Evet
    • href: string

      • Açıklama: Karşılaştırılacak ikinci URL dizesi veya yolu (genellikle bir gezinme bağlantısının href'i).
      • Tip: string
      • Gerekli: Evet
    • locales: Locales[]

      • Açıklama: Desteklenen dillerin isteğe bağlı dizisi. Varsayılan olarak projede yapılandırılan dillere eşittir.
      • Tip: Locales[]
      • Gerekli: Hayır (İsteğe Bağlı)

    Döndürür

    • Tip: boolean
    • Açıklama: Her iki giriş de aynı dilden bağımsız yola çözümlenirse true, aksi takdirde false döner.

    Örnek Kullanım

    Temel Kullanım

    typescript
    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

    Mutlak ve Göreceli URL'ler

    typescript
    import { comparePaths } from "intlayer";comparePaths("https://example.com/ru/path", "/path"); // true

    Aktif gezinme bağlantısını vurgulama

    tsx
    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, comparePaths tarafından kullanılan standartlaştırılmış, dilden bağımsız yolu döndürür. Locale segmentini, protokolü/sunucuyu, sorgu dizesini ve karmayı kaldırır, tek bir baştaki eğik çizgi sağlar, herhangi bir sondaki eğik çizgiyi kaldırır (kök dizin hariç) ve boş değerler için /'a geri döner.

    typescript
    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"

    İlgili Fonksiyonlar


    TypeScript

    typescript
    function normalizePath(inputUrl: string, locales?: Locales[]): string;function comparePaths(  pathname: string,  href: string,  locales?: Locales[]): boolean;