РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗tlVtPlHt 63 of 72 menu
◀ ▶

Правка страницы в Vite

Правка страницы меняет html перед отдачей одним хуком.

Заголовок вкладки и разметка лежат в index.html. Плагин может заменить фрагмент html уже после чтения файла, но до ответа браузеру. Модуль при этом может выводить своё слово отдельно от заголовка. Исходная страница будет такой:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>hello</title> </head> <body> <div id="app"></div> <script type="module" src="/src/main.js"></script> </body> </html>

В модуле оставим другое слово для тела страницы:

document.querySelector('#app').textContent = 'hello';

В массив plugins добавим объект с хуком transformIndexHtml. Он заменит hello в html на vite:

import { defineConfig } from 'vite' export default defineConfig({ plugins: [ { name: 'html-title', transformIndexHtml(html) { return html.replaceAll('hello', 'vite') }, }, ], })

Выполним перезапуск сервера разработки и откроем страницу. Вкладка покажет vite, а блок app по-прежнему получит hello из модуля, потому что хук не меняет JavaScript. После сборки тот же хук попадёт в dist/index.html с той же подстановкой.

Поставьте в title слово ready, настройте хук так, чтобы во вкладке было done, и сравните исходный index.html с тем, что видит браузер.

Добавьте в body комментарий с текстом ready и проверьте, что хук меняет и заголовок, и комментарий, если замена идёт по всему html.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить