Создание переиспользуемого компонента навигации
Теперь, когда вы имеете одинаковый HTML на нескольких страницах вашего сайта Astro, давайте заменим этот дублированный контент на переиспользуемый компонент Astro!
Приготовьтесь к...
- Создать новую папку для компонентов
- Создать компонент Astro для отображения ваших ссылок навигации
- Заменить существующий HTML на новый, переиспользуемый компонент навигации
Создайте новую папку src/components/
Раздел, озаглавленный Создайте новую папку src/components/Чтобы содержать .astro
файлы, генерирующие HTML, но которые не станут новыми страницами на вашем сайте, вам понадобится новая папка в вашем проекте: src/components/
.
Создайте компонент навигации
Раздел, озаглавленный Создайте компонент навигации-
Создайте новый файл:
src/components/Navigation.astro
. -
Скопируйте свои ссылки для перехода между страницами с верху любой страницы и вставьте их в ваш новый файл,
Navigation.astro
:Если во фронтматтере вашего
.astro
файла ничего нет, вам не нужно писать код fences. Вы всегда можете добавить их обратно, когда они вам понадобятся.
Импортируйте и используйте Navigation.astro
Раздел, озаглавленный Импортируйте и используйте Navigation.astro-
Вернитесь в
index.astro
и импортируйте ваш новый компонент внутри разделителя кода: -
Затем замените существующие HTML ссылки на навигацию новым компонентом, который вы только что импортировали:
-
Проверьте предварительный просмотр в вашем браузере и обратите внимание, что он должен выглядеть точно так же… и это то, что вы хотите!
Ваш сайт содержит тот же HTML, что и раньше. Но теперь эти три строки кода предоставляются вашим компонентом навигации <Navigation />
.
Попробуйте сами — Добавьте навигацию на остальные страницы своего сайта
Раздел, озаглавленный Попробуйте сами — Добавьте навигацию на остальные страницы своего сайтаИмпортируйте и используйте компонент <Navigation />
на других двух страницах вашего сайта (about.astro
и blog.astro
) с помощью того же метода.
Не забудьте
- Добавьте оператор импорта в начало скрипта компонента внутри кодового забора
- Замените существующий код на компонент навигации
Когда вы перестраиваете свой код, но не меняете вид вашей страницы в браузере, это называется рефакторингом. Вы будете рефакторить несколько раз в этом модуле, когда замените части HTML вашей страницы на компоненты.
Это позволяет вам быстро начать с любого рабочего кода, часто дублированного по всему вашему проекту. Затем вы можете постепенно улучшать дизайн вашего существующего кода, не изменяя внешний вид вашего сайта.
Проверьте свои знания
Раздел, озаглавленный Проверьте свои знания-
Вы можете это сделать, когда элементы повторяются на нескольких страницах:
-
Компоненты Astro:
-
Компоненты Astro автоматически создают новую страницу на вашем сайте, когда вы…
Чек-лист
Раздел, озаглавленный Чек-лист-
Рефакторинг внешняя ссылка