type | title | description | i18nReady |
---|---|---|---|
tutorial |
Créez un composant de navigation réutilisable |
Tutoriel : Construisez votre premier blog Astro —
Remplacez les éléments répétés sur plusieurs pages par un composant Astro réutilisable |
true |
import Blanks from '/components/tutorial/Blanks.astro';
import Box from '/components/tutorial/Box.astro';
import Checklist from '/components/Checklist.astro';
import MultipleChoice from '/components/tutorial/MultipleChoice.astro';
import Option from '/components/tutorial/Option.astro';
import PreCheck from '/components/tutorial/PreCheck.astro';
import { Steps } from '@astrojs/starlight/components';
import Badge from "~/components/Badge.astro"
Maintenant que vous avez écrit le même HTML sur plusieurs pages de votre site Astro, remplaçons ce contenu dupliqué par un composant Astro réutilisable !
- Créez un nouveau dossier pour les composants - Créez un composant Astro pour afficher vos liens de navigation - Remplacez le HTML existant par un nouveau composant de navigation réutilisablePour contenir les fichiers .astro
qui généreront du HTML, mais qui ne deviendront pas de nouvelles pages sur votre site web, vous aurez besoin d'un nouveau dossier dans votre projet : src/components/
.
-
Copiez vos liens pour naviguer entre les pages depuis le haut de n'importe quelle page et collez-les dans votre nouveau fichier,
Navigation.astro
:--- --- <a href="/">Accueil</a> <a href="/a-propos/">À propos</a> <a href="/blog/">Blog</a>
:::tip S'il n'y a rien dans le frontmatter de votre fichier
.astro
, vous n'avez pas à écrire les code fences. Vous pouvez toujours les ajouter quand vous en aurez besoin. :::
```astro title="src/pages/index.astro" ins={2}
---
import Navigation from '../components/Navigation.astro';
import "../styles/global.css";
const pageTitle = "Page d'accueil";
---
```
-
Ensuite, remplacez les éléments de lien HTML de navigation existants par le nouveau composant de navigation que vous venez d'importer :
<a href="/">Accueil</a> <a href="/a-propos/">À propos</a> <a href="/blog/">Blog</a> <Navigation />
-
Vérifiez l'aperçu dans votre navigateur et remarquez qu'il devrait être exactement le même... et c'est ce que vous voulez !
Votre site contient le même HTML qu'auparavant. Mais maintenant, ces trois lignes de code sont fournies par votre composant <Navigation />
.
Importez et utilisez le composant <Navigation />
dans les deux autres pages de votre site (about.astro
et blog.astro
) en utilisant la même méthode.
N'oubliez pas de
- Ajouter une instruction d'importation en haut du script du composant, à l'intérieur du code fence.
- Remplacer le code existant par le composant de navigation.
:::note Lorsque vous restructurez votre code sans changer l'apparence de votre page dans le navigateur, vous effectuez une refactorisation. Vous allez refactoriser plusieurs fois dans cette unité en remplaçant des parties du HTML de votre page par des composants.
Cela vous permet de commencer rapidement avec un code fonctionnel, souvent dupliqué dans tout votre projet. Ensuite, vous pouvez améliorer de manière incrémentielle la conception de votre code existant sans changer l'apparence extérieure de votre site. :::
-
Vous pouvez faire cela lorsque vous avez des éléments répétés sur plusieurs pages :
redémarrer le serveur de développement refactoriser pour utiliser un composant réutilisable créer une nouvelle page -
Les composants Astro sont :
réutilisables des fragments de HTML les deux ! -
Les composants Astro créeront automatiquement une nouvelle page sur votre site lorsque vous...
incluez `` refactorisez placez le fichier `.astro` dans `src/pages/`