Plugin
Dans NocoBase, le plugin serveur (Server Plugin) est le principal moyen d'étendre les fonctionnalités côté serveur. Vous pouvez hériter de la classe de base Plugin fournie par @nocobase/server dans src/server/plugin.ts du répertoire du plugin, puis enregistrer à différentes étapes du cycle de vie des événements, des interfaces, des autorisations et d'autres logiques personnalisées.
Classe de plugin
Voici la structure d'une classe de plugin de base :
Cycle de vie
Les méthodes du cycle de vie du plugin s'exécutent dans l'ordre suivant ; chaque méthode a un moment d'exécution et un objectif spécifiques :
Description de l'ordre d'exécution
Flux d'exécution typique des méthodes du cycle de vie :
- Phase d'initialisation statique :
staticImport() - Phase de démarrage de l'application :
afterAdd()→beforeLoad()→load() - Phase de première activation du plugin :
afterAdd()→beforeLoad()→load()→install() - Phase de réactivation du plugin :
afterAdd()→beforeLoad()→load() - Phase de désactivation du plugin :
afterDisable()est exécuté lors de la désactivation du plugin - Phase de suppression du plugin :
remove()est exécuté lors de la suppression du plugin
app et ses membres associés
Lors du développement de plugins, this.app permet d'accéder aux différentes API fournies par l'instance de l'application — c'est le point d'entrée central pour étendre les fonctionnalités via les plugins. L'objet app contient les différents modules fonctionnels du système, et vous pouvez les utiliser dans les méthodes du cycle de vie du plugin.
Liste des membres de app
Pour l'utilisation détaillée de chaque module, veuillez vous référer aux chapitres de documentation correspondants.
Liens connexes
- Aperçu du développement serveur — vue d'ensemble et navigation des modules serveur
- Collections — définir ou étendre la structure des collections via du code
- Database — CRUD, Repository, transactions et événements de base de données
- Migration — scripts de migration de données lors des mises à niveau de plugin
- Event — écoute et traitement des événements au niveau de l'application et de la base de données
- ResourceManager — enregistrer des API REST et opérations personnalisées
- Écrire votre premier plugin — créer un plugin complet de zéro
- Logger — enregistrer des journaux système
- ACL — définir des autorisations et politiques d'accès
- Cache — gérer le cache au niveau du système
- CronJobManager — enregistrer et gérer des tâches planifiées
- I18n — traduction multilingue
- Command — enregistrer des commandes CLI personnalisées
- DataSourceManager — gérer plusieurs sources de données

