Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Add `intlayerHTML` plugin object; use `app.use(intlayerHTML)` instead of `app.use(installIntlayerHTML)`"v8.5.024.03.2026
- "Перенос импортов из {{framework}}-intlayer в {{framework}}-intlayer/html"v8.5.024.03.2026
- "Добавлены HTMLRenderer / useHTMLRenderer / renderHTML"v8.0.022.01.2026
- "Добавлена поддержка парсинга HTML"v8.0.020.01.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
HTML-контент / HTML в Intlayer
Intlayer поддерживает HTML-контент, позволяя встраивать насыщенный, структурированный контент в ваши словари. Этот контент может отображаться с помощью стандартных HTML-тегов или заменяться на пользовательские компоненты во время выполнения.
Объявление HTML-контента
Вы можете объявлять HTML-контент с помощью функции html или просто как строку.
Используйте функцию html, чтобы явно объявлять HTML-контент. Это гарантирует корректную сопоставляемость стандартных тегов, даже если автоматическое обнаружение отключено.
Копировать код в буфер обмена
Узел html()
Функция html(), это новая возможность в Intlayer v8, которая позволяет явно определять HTML-контент в ваших словарях. Хотя Intlayer часто может автоматически определять HTML-контент, использование функции html() дает несколько преимуществ:
- Типобезопасность: Функция
html()позволяет определять ожидаемые пропсы для пользовательских компонентов, обеспечивая лучшее автодополнение и проверку типов в вашем редакторе. - Явное объявление: Это гарантирует, что строка всегда будет рассматриваться как HTML, даже если она не содержит стандартных HTML-тегов, которые могли бы активировать автоматическое определение.
- Определение пользовательских компонентов: Вы можете передать второй аргумент в
html(), чтобы определить пользовательские компоненты и ожидаемые типы их пропсов.
Копировать код в буфер обмена
При использовании метода .use() для HTML-узла предоставленные вами компоненты будут проверяться на соответствие определению, указанному в функции html() (если оно доступно).
Рендеринг HTML
Рендеринг можно осуществлять автоматически с помощью системы контента Intlayer или вручную с использованием специализированных инструментов.
Автоматический рендеринг (с использованием useIntlayer)
Когда вы получаете контент через useIntlayer, HTML-узлы уже подготовлены для рендеринга.
HTML-узлы можно рендерить напрямую как JSX. Стандартные теги работают автоматически.
Копировать код в буфер обмена
Используйте метод .use() для предоставления пользовательских компонентов или переопределения тегов:
Копировать код в буфер обмена
Глобальная конфигурация с HTMLProvider
Вы можете настроить рендеринг HTML глобально для всего приложения. Это удобно для определения пользовательских компонентов, которые должны быть доступны во всём HTML-контенте.
Копировать код в буфер обмена
Вы также можете использовать свой собственный рендерер HTML:
Копировать код в буфер обмена
Динамический импорт рендерера HTML - хороший способ уменьшить размер бандла вашего приложения.
Ручной рендеринг и расширенные инструменты
Если вам нужно рендерить сырые HTML-строки или иметь больший контроль над маппингом компонентов, используйте следующие инструменты.
Компонент <HTMLRenderer />
Копировать код в буфер обмена
Хук useHTMLRenderer()
Возвращает предварительно настроенную функцию рендеринга.
Копировать код в буфер обмена
Утилита renderHTML()
Утилита для рендеринга вне компонентов.
Копировать код в буфер обмена
Справочник опций
Эти опции могут быть переданы в HTMLProvider, HTMLRenderer, useHTMLRenderer и renderHTML.
Открыть таблицу в модальном окне для четкого просмотра всех данных
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
components | Record<string, any> | {} | Отображение HTML-тегов или имён пользовательских компонентов на соответствующие компоненты. |
renderHTML | Function | null | Пользовательская функция рендеринга для полной замены стандартного HTML-парсера (только для провайдеров Vue/Svelte). |
Примечание: для React и Preact стандартные HTML-теги предоставляются автоматически. Вам нужно передавать проп components только если вы хотите переопределить их или добавить пользовательские компоненты.