Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Інтегровано в intlayer(); ініціалізація доки"v9.0.025.06.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
intlayerCompiler
intlayerCompiler — це плагін Vite, який сканує вихідні файли компонентів на наявність вбудованих оголошень контенту Intlayer (inline declarations) — контенту, визначеного безпосередньо всередині компонента, а не в окремому файлі .content.ts, — і записує їх у файли JSON словника під час фази трансформації.
Починаючи з Intlayer v9,intlayerCompilerавтоматично включається в основний плагінintlayer(), якщо в конфігурації Intlayer увімкнено компілятор (compiler.enabled: true) і вказано шлях виводу (compiler.output). Вам потрібно реєструвати його окремо лише в тому випадку, якщо ви хочете повністю контролювати конфігурацію компілятора.
Використання
У складі intlayer() (рекомендовано, v9+)
Увімкніть компілятор у конфігурації Intlayer:
Скопіюйте код у буфер обміну
Потім використовуйте стандартний плагін без додаткової реєстрації:
Скопіюйте код у буфер обміну
Окремо (за необхідності)
Скопіюйте код у буфер обміну
Опції
Скопіюйте код у буфер обміну
Відкрийте таблицю в модальному вікні, щоб чітко переглянути всі дані
| Опція | Тип | Опис |
|---|---|---|
configOptions | GetConfigurationOptions | Перевизначення конфігурації Intlayer, що передається в getConfiguration(). |
compilerConfig | Partial<CompilerConfig> | Перевизначення специфічних налаштувань компілятора (наприклад, enabled, output, filesList). |
Приклад
Скопіюйте код у буфер обміну
Як це працює
Фаза трансформації
Для кожного вихідного файлу, що відповідає compiler.filesList, плагін компілятора:
- Пропускає вміст файлу через
extractContentіз@intlayer/babel. - Викликає
onExtractдля кожного знайденого оголошення, записуючи результуючий JSON словника вcompiler.output. - Повертає трансформований вихідний код із вбудованими оголошеннями, заміненими стандартними викликами
useIntlayer('key')/getIntlayer('key').
Підтримувані типи файлів: .ts, .tsx, .js, .jsx, .vue, .svelte, .astro.
HMR (Hot Module Replacement)
Коли файл компонента зберігається в режимі розробки, компілятор:
- Виявляє зміну файлу через хук
handleHotUpdateу Vite. - Повторно витягує контент з оновленого файлу.
- Записує оновлений JSON словника.
- Запускає повне перезавантаження сторінки (
server.ws.send({ type: 'full-reload' })).
Затримка (debounce) у 500 мс запобігає нескінченному циклу повторного витягування, викликаному самим записом словника (який також запускає подію зміни файлу).
Дедуплікація
intlayerCompiler використовує той самий механізм дедуплікації createPrimaryInstanceGuard, що й інші вбудовані плагіни. Коли присутні як intlayer() (який включає компілятор), так і ручний виклик intlayerCompiler(), запускається тільки перший зареєстрований екземпляр — словники не записуються двічі.
