Создайте переиспользуемый компонент навигации
Теперь, когда у вас есть одинаковый HTML, написанный на нескольких страницах вашего сайта Astro, пришло время заменить этот повторяющийся контент на переиспользуемый компонент Astro!
Приготовьтесь…
- Создать новую папку для компонентов
- Создать компонент Astro для отображения ваших ссылок навигации
- Заменить существующий HTML на новый, переиспользуемый компонент навигации
Создайте новую папку src/components/
Для хранения файлов .astro, которые будут генерировать HTML, но не станут новыми страницами на вашем веб-сайте, вам понадобится новая папка в вашем проекте: src/components/.
Создайте компонент навигации
Создайте новый файл:
src/components/Navigation.astro.Скопируйте ваши ссылки для перехода между страницами из верхней части любой страницы и вставьте их в ваш новый файл
Navigation.astro:--- --- <a href="/">Главная</a> <a href="/about/">О сайте</a> <a href="/blog/">Блог</a>:::tipЕсли в метаданных вашего файла
.astroничего нет, вам не нужно писать разделители кода (---). Вы всегда можете добавить их обратно, когда это понадобится.:::
Импортируйте и используйте Navigation.astro
Вернитесь к
index.astroи импортируйте ваш новый компонент внутри разделителей кода:--- import Navigation from '../components/Navigation.astro'; import "../styles/global.css"; const pageTitle = "Главная"; ---Затем ниже замените существующие элементы ссылок HTML приведённым кодом, используя новый компонент навигации, который вы только что импортировали:
<a href="/">Главная</a> <a href="/about/">О сайте</a> <a href="/blog/">Блог</a> <Navigation />Проверьте предварительный просмотр в браузере и обратите внимание, что он должен выглядеть точно так же... и это то, что вам нужно!
Ваш сайт содержит тот же HTML, что и раньше. Но теперь эти три строки кода предоставляются вашим компонентом <Navigation />.
Попробуйте сами — Добавьте навигацию на остальные страницы своего сайта
Импортируйте и используйте компонент <Navigation /> на других двух страницах вашего сайта (about.astro и blog.astro) с помощью того же метода.
Не забудьте
- Добавить оператор импорта в верхней части скрипта компонента, внутри разделителей кода.
- Заменить существующий код компонентом навигации.
:::noteКогда вы перестраиваете свой код, но не изменяете внешний вид вашей страницы в браузере, это называется рефакторингом. Вы будете рефакторить несколько раз в этом модуле, когда замените части HTML вашей страницы на компоненты.
Это позволяет вам быстро начать работу с любым рабочим кодом, который часто дублируется в вашем проекте. Затем вы можете постепенно улучшать дизайн существующего кода, не изменяя внешний вид вашего сайта.:::
Проверьте свои знания
Вы можете это сделать, когда элементы повторяются на нескольких страницах:
Компоненты Astro:
Компоненты Astro автоматически создают новую страницу на вашем сайте, когда вы…
Контрольный список
Ресурсы
Рефакторинг внешняя ссылка