Задайте вопрос и получите краткое содержание документа через любого ИИ-провайдера на этой странице
Этот документ устарел, базовая версия была обновлена 25 июня 2026 г..
Перейти к английской документацииИстория версий
- "Инициализация документации"v8.0.021.01.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомIf 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
Документация плагина intlayer для Vite
Плагин Vite intlayer интегрирует конфигурацию Intlayer в процесс сборки. Он управляет алиасами словарей, запускает наблюдатель за словарями в режиме разработки и подготавливает словари для сборки.
Использование
Копировать код в буфер обмена
// файл vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});Параметры
Копировать код в буфер обмена
import type { IntlayerPluginOptions } from "vite-intlayer";IntlayerPluginOptions расширяет GetConfigurationOptions (см. @intlayer/config) со следующими дополнительными полями:
Открыть таблицу в модальном окне для четкого просмотра всех данных
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
compatCallers | CompatCallerConfig[] | [] | Дополнительные паттерны вызывающих функций для пакетов compat-adapter (например, @intlayer/react-i18next). Передается анализатору использования полей во время сборки. |
proxy | { ignore?: (req) => boolean } | undefined | Параметры, передаваемые встроенному прокси маршрутизации локалей. Используйте ignore для исключения определенных путей (например, маршруты API) из маршрутизации локалей. |
Все остальные параметры (override, configFile, …) передаются непосредственно в getConfiguration().
Примеры
Игнорирование API маршрутов при локализации
Копировать код в буфер обмена
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [ intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api"), }, }), ],});С пользовательским путем к файлу конфигурации
Копировать код в буфер обмена
export default defineConfig({ plugins: [ intlayer({ configFile: "./config/intlayer.config.ts", }), ],});С использованием compat-adapter callers
Копировать код в буфер обмена
import { intlayer } from "vite-intlayer";import { reactI18nextCallerConfig } from "@intlayer/react-i18next/plugin";export default defineConfig({ plugins: [ intlayer({ compatCallers: [reactI18nextCallerConfig], }), ],});Что делает плагин
1. Подготовка словарей
Перед началом сборки (и один раз в час в режиме разработки), intlayer вызывает prepareIntlayer для компиляции всех файлов .content.ts в оптимизированные JSON-словари, хранящиеся в .intlayer/.
2. Aliases модулей
Плагин добавляет aliases разрешения Vite, так чтобы import { myDict } from 'intlayer/dictionaries/my-dict' разрешался в скомпилированный JSON файл на диске. SSR сборки используют ssr.noExternal для обеспечения того, чтобы все пакеты @intlayer/* были объединены с применёнными aliases.
3. Dev-server watcher
В режиме разработки запускается chokidar watcher. Когда .content.ts файл изменяется, словари перекомпилируются и Vite's HMR распространяет обновление на браузер.
4. Встроенный прокси маршрутизации локалей (v9+)
С Intlayer v9 промежуточное ПО intlayerProxy регистрируется автоматически внутри intlayer(). Оно обрабатывает:
- Обнаружение локали из префикса URL, cookies и заголовка
Accept-Language. - 301 редиректы, когда обнаруженная локаль не совпадает с текущим URL.
- Внутренние переписывания URL, чтобы фреймворк видел корректный параметр маршрута
[locale].
Прокси контролируется параметром routing.enableProxy (по умолчанию true) в конфигурации Intlayer. Чтобы полностью отключить его:
Копировать код в буфер обмена
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ routing: { enableProxy: false },});Чтобы настроить поведение прокси без отдельного вызова intlayerProxy(), передайте опции proxy основному плагину:
Копировать код в буфер обмена
intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api") } });Полную справку по поведению маршрутизации см. в документации intlayerProxy.
5. Встроенный компилятор (v9+)
Когда compiler.enabled установлено на true и compiler.output указан в вашей конфигурации Intlayer, intlayer() автоматически регистрирует intlayerCompiler. Компилятор извлекает встроенные объявления контента, написанные непосредственно в файлах компонентов, и записывает их в словари во время трансформации. See intlayerCompiler documentation.
6. Оптимизация сборки
Во время production сборки плагин добавляет:
- intlayerOptimize – Babel трансформация, которая переписывает
useIntlayer('key')→useDictionary(hash)и внедряет прямой импорт JSON. - intlayerPrune – удаляет неиспользуемые поля содержимого из dictionary JSON.
- intlayerMinify – компактирует dictionary JSON и опционально изменяет названия полей.
Эти оптимизации неактивны в режиме разработки.
Устаревшие псевдонимы
Открыть таблицу в модальном окне для четкого просмотра всех данных
| Устаревший экспорт | Замена |
|---|---|
intlayerPlugin | intlayer |
intLayerPlugin | intlayer |