Plugin
Dans NocoBase, le plugin client (Client Plugin) est le moyen principal pour étendre et personnaliser les fonctionnalités front-end. Vous pouvez hériter de la classe de base Plugin fournie par @nocobase/client-v2 dans src/client-v2/plugin.tsx du répertoire de votre plugin, puis enregistrer routes, modèles et autres ressources dans les méthodes du cycle de vie comme load().
La plupart du temps, seul load() vous concerne — la logique principale est en général enregistrée à l'étape load().
Avant de développer un plugin client, assurez-vous d'avoir lu le chapitre Écrire votre premier plugin afin d'avoir généré la structure de répertoire et les fichiers de base du plugin.
Structure de base
Cycle de vie
À chaque rafraîchissement du navigateur ou initialisation de l'application, le plugin exécute séquentiellement afterAdd() → beforeLoad() → load() :
En général, écrire load() suffit pour développer un plugin client.
Que faire dans load()
load() est le point d'entrée principal pour enregistrer les fonctionnalités du plugin. Opérations courantes :
Enregistrer des routes de page :
Voir Router - routage pour l'utilisation détaillée.
Enregistrer un FlowModel :
registerModelLoaders utilise le chargement à la demande (import dynamique) ; le module n'est chargé qu'à la première utilisation du modèle. C'est la méthode d'enregistrement recommandée. Voir FlowEngine pour l'utilisation détaillée.
Propriétés courantes du plugin
Dans une classe de plugin, les propriétés suivantes sont accessibles directement via this :
Si vous avez besoin d'accéder à plus de capacités NocoBase (par exemple api, t(i18n), logger), récupérez-les via this.context :
Pour plus de capacités du contexte, voir Context.
Liens connexes
- Router - routage — Enregistrer des routes de page et des pages de configuration de plugin
- Développement de Component — Comment écrire les composants React montés sur les routes
- Context — Utiliser les capacités intégrées de NocoBase via le contexte
- FlowEngine — Enregistrer des composants visuellement configurables tels que blocs, champs ou actions
- Écrire votre premier plugin — Créer un plugin de zéro

