Astro 3.4

Автор
Erika
Matthew Phillips

Вышел Astro 3.4 с поддержкой частичных страниц, новым экспериментальным dev overlay и другими улучшениями.

Чтобы воспользоваться новыми возможностями, убедитесь, что у вас последняя версия Astro. Обновиться до Astro 3.4:

npm install astro@latest
pnpm upgrade astro --latest
yarn upgrade astro --latest

Page Partials

Компонент страницы теперь можно пометить как partial — HTML рендерится без <!DOCTYPE html> и содержимого <head>.

Partials лучше всего сочетаются с библиотеками вроде htmx или Stimulus, ориентированными на загрузку HTML-фрагментов.

Любую страницу можно пометить как partial через опцию partial во frontmatter.

---
export const partial = true;
---
<li>This is a single list item.</li>

Результат:

<li>This is a single list item.</li>

Файлы .astro и другие типы страниц с экспортом значения (например .mdx) могут быть partials.

Подробнее о page partials в документации и пример TodoMVC с htmx.

Image Component Performance

Astro теперь генерирует оптимизированные изображения параллельно при сборке статических сайтов — это может заметно ускорить сборку сайтов с большим числом изображений.

Кроме того, Astro переиспользует один буфер для всех вариантов изображения — это улучшает производительность при множестве вариантов одного изображения, особенно для удалённых.

Изменения в коде не требуются.

Dev Overlay (experimental)

Dev overlay в режиме x-ray: подсвечен client-компонент с директивой и переданными props.

В 3.4 доступен экспериментальный dev overlay для инспекции островов, аудитов производительности и доступности и др. Включён Plugin API для расширений и сторонних интеграций.

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

Включите dev overlay и API флагом в конфиге Astro:

astro.config.mjs
export default {
experimental: {
devOverlay: true
}
};

См. документацию Dev Overlay Plugin API для собственных плагинов.

Bug Fixes

В релизе также исправления ошибок. См. release notes.