Creation:2025-08-23Last update:2025-08-23

    Композиционная функция useRewriteURL

    Composable useRewriteURL для Vue 3 предназначен для обработки локализованных перезаписей URL на стороне клиента. Он автоматически корректирует URL в браузере до его «красивой» локализованной версии на основе текущей локали пользователя и конфигурации в intlayer.config.ts.

    Это достигается с помощью window.history.replaceState, что позволяет избежать ненужных навигаций Vue Router.

    Использование

    Вызовите composable внутри функции setup() или в <script setup>.

    vue
    <script setup>import { useRewriteURL } from "vue-intlayer";// Автоматически исправляет /fr/tests на /fr/essais в адресной строке, если существует правило перезаписиuseRewriteURL();</script><template>  <router-view /></template>

    Как это работает

    1. Реактивный мониторинг: composable устанавливает watch на locale пользователя.
    2. Сопоставление перезаписей: Когда locale изменяется (или при монтировании), он проверяет, соответствует ли текущий window.location.pathname каноническому маршруту, у которого есть более «красивый» локализованный псевдоним.
    3. Коррекция URL: Если найден более «красивый» псевдоним, composable вызывает window.history.replaceState, чтобы обновить адресную строку без перезагрузки страницы и без потери состояния роутера.

    Зачем это нужно?

    • Оптимизация для SEO: Гарантирует, что поисковые системы индексируют авторитетную локализованную версию ваших URL.
    • Улучшенный UX: Исправляет вручную введённые URL, чтобы они соответствовали вашему предпочитаемому именованию (например, /fr/a-propos вместо /fr/about).
    • Минимальные накладные расходы: Тихо обновляет URL без повторного запуска жизненных циклов компонентов или срабатывания navigation guards.