Vue d'ensemble
Les plugins client de NocoBase peuvent faire beaucoup de choses : enregistrer de nouvelles pages, écrire des composants personnalisés, appeler les API du back-end, ajouter des blocs et des champs, voire étendre les boutons d'action. Toutes ces capacités s'organisent autour d'un point d'entrée de plugin unifié.
Si vous avez déjà de l'expérience React, vous prendrez vite vos marques — la majorité des scénarios consiste à écrire des composants React classiques, en s'appuyant sur les capacités contextuelles fournies par NocoBase (envoi de requêtes, i18n) pour s'intégrer avec NocoBase. C'est uniquement quand vous avez besoin que votre composant apparaisse dans l'interface de configuration visuelle de NocoBase qu'il faut comprendre FlowEngine.
NocoBase est en train de migrer de client (v1) vers client-v2 ; client-v2 est encore en développement actif. Le contenu présenté ici est destiné à être expérimenté ; il n'est pas recommandé pour la production. Pour les nouveaux plugins, utilisez le répertoire src/client-v2/ et l'API de @nocobase/client-v2.
Parcours d'apprentissage
Nous vous recommandons d'aborder le développement de plugin client dans l'ordre suivant, du plus simple au plus complexe :
Notamment :
- Plugin : la classe d'entrée du plugin, où vous enregistrez routes, modèles et autres ressources dans les méthodes du cycle de vie comme
load(). - Router : enregistrer des routes de page via
router.add(), et enregistrer des pages de configuration de plugin viapluginSettingsManager. - Component : ce qui est monté sur une route est un composant React. Par défaut, on écrit en React + Antd ; ce n'est pas différent du développement front-end classique.
- Context : dans le plugin, on récupère le contexte via
this.context; dans un composant, viauseFlowContext(). Le contexte permet d'accéder aux capacités fournies par NocoBase — envoi de requêtes (ctx.api), i18n (ctx.t), logging (ctx.logger), etc. - FlowEngine : si votre composant doit apparaître dans les menus « Ajouter un bloc / champ / action » et permettre une configuration visuelle par l'utilisateur, vous devez l'envelopper avec un FlowModel.
Les quatre premières étapes couvrent la majorité des cas. Vous n'avez besoin de la cinquième que pour une intégration profonde avec le système de configuration UI de NocoBase. Si vous hésitez sur l'approche à utiliser, voir Component vs FlowModel.
Index rapide
Liens connexes
- Écrire votre premier plugin — Créer un plugin fonctionnel à partir de zéro
- Vue d'ensemble du développement serveur — Un plugin client a en général besoin d'un complément côté serveur
- Documentation complète de FlowEngine — Référence complète de FlowModel, Flow et Context
- Structure du projet — Où placer les fichiers du plugin

