Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Ця документація застаріла, базову версію оновлено станом на 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
Документація Vite-плагіна intlayer
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. Module aliases
Плагін додає Vite resolve aliases, щоб import { myDict } from 'intlayer/dictionaries/my-dict' розв'язувався до скомпільованого JSON файлу на диску. SSR builds використовують ssr.noExternal, щоб забезпечити, що всі пакети @intlayer/* об'єднані з застосованими aliases.
3. Dev-server watcher
У режимі розробки запускається chokidar watcher. Коли змінюється файл .content.ts, словники перекомпілюються, а Vite's HMR поширює оновлення на браузер.
4. Bundled locale-routing proxy (v9+)
З версії Intlayer v9 middleware intlayerProxy реєструється автоматично всередині intlayer(). Він обробляє:
- Визначення локалі за префіксом URL, cookies та заголовком
Accept-Language. - 301 переспрямування, коли визначена локаль не відповідає поточному URL.
- Внутрішні переписування URL, щоб framework бачив правильний параметр маршруту
[locale].
Proxy керується параметром routing.enableProxy (за замовчуванням true) у конфігурації Intlayer. Щоб повністю відключити його:
Скопіюйте код у буфер обміну
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ routing: { enableProxy: false },});Щоб налаштувати поведінку proxy без окремого виклику intlayerProxy(), передайте опції proxy до основного плагіна:
Скопіюйте код у буфер обміну
intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api") } });Див. документацію intlayerProxy для повного довідника поведінки маршрутизації.
5. Bundled compiler (v9+)
Коли compiler.enabled має значення true та compiler.output встановлено у вашій конфігурації Intlayer, intlayer() автоматично реєструє intlayerCompiler. Компілятор витягує вбудовані декларації контенту, написані безпосередньо у файлах компонентів, і записує їх у словники під час трансформації. Дивіться документацію intlayerCompiler.
6. Оптимізація збірки
Під час виробничої збірки плагін додає:
- intlayerOptimize – трансформація Babel, яка перезаписує
useIntlayer('key')→useDictionary(hash)та вводить прямий імпорт JSON. - intlayerPrune – видаляє невикористовувані поля вмісту з JSON словника.
- intlayerMinify – стискує JSON словника та за потреби мангліфікує назви полів.
Ці функції неактивні в режимі розробки.
Застарілі псевдоніми
Відкрийте таблицю в модальному вікні, щоб чітко переглянути всі дані
| Застарілий експорт | Заміна |
|---|---|
intlayerPlugin | intlayer |
intLayerPlugin | intlayer |