Architecture client
Alias de thème
Un thème fonctionne en exportant un ensemble de composants, par exemple Navbar
, Layout
, Footer
, pour rendre les données transmises à partir de plugins. Docusaurus et les utilisateurs utilisent ces composants en les important en utilisant l'alias de webpack @theme
:
import Navbar from '@theme/Navbar';
L'alias @theme
peut faire référence à quelques répertoires, selon la priorité suivante :
- Un répertoire
website/src/theme
d'un utilisateur, qui est un répertoire spécial qui a la priorité supérieure. - Un répertoire
theme
des paquets du thème de Docusaurus. - Des composants de secours fournis par le noyau de Docusaurus (généralement pas nécessaire).
C'est ce qu'on appelle une architecture en couches : une couche de priorité supérieure fournissant le composant ferait de l'ombre à une couche de priorité inférieure, rendant le swizzling possible. Considérons la structure suivante :
website
├── node_modules
│ └── @docusaurus/theme-classic
│ └── theme
│ └── Navbar.js