Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jsnxPmGfInr 57 of 72 menu
◀ ▶

Картинки и шрифты в NextJS

В данном разделе учебника речь пойдет о картинках и шрифтах на сайте, созданном с помощью NextJS. Речь не о том, как нарисовать макет или подобрать гарнитуру, а о том, как эти ресурсы попадают к пользователю и влияют на скорость и стабильность страницы.

Привычный тег img кажется простым: указали адрес файла - и картинка на экране. На практике браузер часто узнает размеры изображения только после загрузки. Пока файл еще качается, место под картинку может быть не зарезервировано, и когда картинка появится, блоки текста и кнопки сдвинутся. Пользователь может уже читать абзац или целиться в ссылку - и внезапно все прыгает. Такое поведение называют сдвигом верстки; он раздражает людей и ухудшает показатели качества страницы в глазах поисковых систем.

Шрифты создают похожую, но другую проблему. Если подключить начертание с чужого сайта через обычную ссылку в CSS, браузер сначала покажет текст запасным шрифтом, а после загрузки файла шрифта перерисует строки уже нужным начертанием. Текст может заметно измениться по ширине и высоте - снова сдвиг. Кроме того, каждый такой запрос к внешнему хосту задерживает первую отрисовку: страница дольше остается без финального вида, особенно на медленном канале.

NextJS встроил отдельные средства именно для картинок и для шрифтов. Они встроены в фреймворк и рассчитаны на типичный проект на App Router: картинки можно отдавать через оптимизирующий компонент, шрифты - подключать так, чтобы браузер получал их вместе с приложением без лишних сетевых скачков к сторонним CDN. Цель одна - стабильная верстка и более предсказуемая первая отрисовка без ручной возни с десятком мелких настроек.

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