Écrire votre premier plugin
Cette documentation vous accompagnera pour créer de zéro un plugin de bloc utilisable dans une page, et vous aidera à comprendre la structure de base et le flux de développement d'un plugin NocoBase.
Prérequis
Avant de commencer, assurez-vous d'avoir installé NocoBase. Si ce n'est pas encore fait, vous pouvez consulter :
Une fois l'installation terminée, vous pouvez commencer.
Étape 1 : créer l'ossature du plugin via la CLI
Exécutez la commande suivante à la racine du dépôt pour générer rapidement un plugin vide :
Une fois la commande exécutée avec succès, des fichiers de base seront générés dans le répertoire packages/plugins/@my-project/plugin-hello. La structure par défaut est la suivante :
Une fois la création terminée, vous pouvez accéder à la page «Gestionnaire de plugins» dans votre navigateur (adresse par défaut : http://localhost:13000/admin/settings/plugin-manager) pour vérifier que le plugin apparaît bien dans la liste.
Étape 2 : implémenter un bloc client simple
Ajoutons maintenant un modèle de bloc personnalisé au plugin pour afficher un texte de bienvenue.
- Ajoutez le fichier de modèle de bloc
client-v2/models/HelloBlockModel.tsx:
- Enregistrez le modèle de bloc. Modifiez
client-v2/models/index.tspour exporter le nouveau modèle, afin qu'il puisse être chargé par le runtime frontend :
Après avoir sauvegardé le code, si vous exécutez un script de développement, vous devriez voir des journaux de rechargement à chaud (hot-reload) dans la sortie du terminal.
Étape 3 : activer et tester le plugin
Vous pouvez activer le plugin via la ligne de commande ou via l'interface :
-
Ligne de commande
-
Interface d'administration : accédez au «Gestionnaire de plugins», localisez
@my-project/plugin-helloet cliquez sur «Activer».
Après l'activation, créez une nouvelle page «Modern page (v2)». Lors de l'ajout de blocs, vous verrez apparaître «Hello block» ; insérez-le dans la page pour visualiser le contenu de bienvenue que vous venez de créer.

Rendre le plugin préinstallé ou activé par défaut (optionnel)
Ce qui précède décrit l'activation manuelle d'un plugin individuel. Si vous maintenez votre propre application NocoBase et souhaitez que certains plugins soient automatiquement disponibles après l'exécution de nocobase install (première installation) ou nocobase upgrade (mise à niveau), vous pouvez utiliser deux variables d'environnement pour contrôler l'état par défaut des plugins :
APPEND_PRESET_LOCAL_PLUGINS(ajouter aux plugins locaux préinstallés par défaut) — ajoute le plugin à la liste des plugins locaux préinstallés ; il apparaît dans le «Gestionnaire de plugins» après l'installation, mais n'est pas activé par défaut et doit être activé manuellementAPPEND_PRESET_BUILT_IN_PLUGINS(ajouter aux plugins intégrés par défaut) — ajoute le plugin à la liste des plugins intégrés, qui sont automatiquement activés lors de l'installation ; en tant que plugins intégrés, ils ne peuvent pas être désactivés ni supprimés dans le «Gestionnaire de plugins»
La valeur de ces deux variables est le nom du package du plugin (le champ name dans package.json), avec plusieurs plugins séparés par des virgules. Configurez-les dans le fichier .env :
En règle générale, yarn pm enable suffit pour le développement et le débogage en local. Ces deux variables sont davantage adaptées aux scénarios de distribution «prêts à l'emploi» — par exemple, si vous avez empaqueté une application NocoBase avec un ensemble fixe de plugins et souhaitez que ces plugins soient directement disponibles après l'initialisation.
- Le plugin doit être téléchargé localement et pouvoir être résolu dans
node_modules; voir Structure du projet - Après configuration, il faut réexécuter
nocobase installounocobase upgradepour que les changements prennent effet - La description complète des variables d'environnement est disponible dans Variables d'environnement
Étape 4 : compiler et empaqueter
Lorsque vous êtes prêt à distribuer votre plugin vers d'autres environnements, vous devez d'abord le compiler, puis l'empaqueter :
Si le plugin est créé dans le dépôt source, la première compilation déclenchera une vérification de type complète du dépôt, ce qui peut prendre un certain temps. Il est recommandé de s'assurer que les dépendances sont installées et que le dépôt est dans un état compilable.
Une fois la compilation terminée, le fichier empaqueté se trouve par défaut dans storage/tar/@my-project/plugin-hello.tar.gz.
Avant la publication, il est recommandé d'écrire des tests pour vérifier la logique centrale du plugin ; NocoBase fournit une chaîne d'outils de tests serveur complète. Voir Test.
Étape 5 : téléverser vers une autre application NocoBase
Téléversez et décompressez le fichier dans le répertoire ./storage/plugins de l'application cible. Pour les étapes détaillées, voir Installer et mettre à niveau les plugins.
Liens connexes
- Aperçu du développement de plugins — comprendre l'architecture micro-noyau de NocoBase et le cycle de vie des plugins
- Structure du projet — conventions de l'arborescence du projet, chemins de chargement et priorité des plugins
- Aperçu du développement serveur — présentation et concepts centraux des plugins serveur
- Aperçu du développement client — présentation et concepts centraux des plugins client
- Build et empaquetage — processus de build, d'empaquetage et de distribution des plugins
- Test — écrire des tests de plugins serveur
- Installer avec create-nocobase-app — l'une des méthodes d'installation de NocoBase
- Installer depuis les sources Git — installer NocoBase depuis le code source
- Installer et mettre à niveau les plugins — téléverser le plugin empaqueté vers d'autres environnements
- Variables d'environnement — configuration des variables d'environnement pour les plugins préinstallés et intégrés

