Зачем конвертировать ASTRO в VUE?
Astro и Vue имеют разные модели рендеринга - Astro выполняет предварительный рендеринг в HTML, в то время как компоненты .vue полагаются на реактивность среды выполнения Vue. Astro даже поддерживает Vue напрямую, поэтому обычно Vue встраивают в проект, а не уходят из Astro.
Способы конвертации ASTRO в VUE
Использование Vue внутри Astro FREE
Выполните npx astro add vue, чтобы добавить @astrojs/vue, затем импортируйте и рендерите компоненты .vue внутри ваших файлов .astro, добавляя гидратацию с помощью директив client:*.
Ручная переписка в .vue SFC FREE
Перенесите разметку .astro в блок <template>, а логику из секции кода - в <script setup>, заменяя пропсы, слоты и выражения на эквиваленты Vue.
Об этих форматах
Файл .astro - это шаблон компонента для веб-фреймворка Astro. Он содержит разметку в стиле HTML, а также необязательную секцию скриптов на JavaScript или TypeScript. Astro компилирует его в…
Открыть детали .ASTRO →Файл .vue - это либо сцена 3D-ландшафта E-on Vue (рельеф, небо, растительность, освещение), либо однофайловый веб-компонент Vue.js. Откройте 3D-сцену с помощью Vue от Bentley Systems,…
Открыть детали .VUE →Качество и на что обратить внимание
- В документации Astro указано, что вы можете использовать компоненты Vue внутри Astro, но не компоненты Astro внутри кодовой базы Vue.
- Vue использует директивы вроде
v-if,v-forи привязку:prop, у которых нет прямого аналога в Astro, поэтому любая переработка выполняется вручную. - Серверная секция кода Astro и модель гидратации
client:*не сопоставляются напрямую с реактивностью Vue в рантайме.
Часто задаваемые вопросы
Существует ли конвертер .astro в .vue?
Могу ли я запускать компоненты Vue в проекте Astro?
@astrojs/vue, добавляемую командой npx astro add vue.Как слоты транслируются во Vue?
<slot> в Astro становится тегом <slot> во Vue внутри <template>, но именованные слоты и пропсы требуют ручного сопоставления.