Structure du répertoire du projet
Que vous cloniez le code source depuis Git ou que vous initialisiez un projet avec create-nocobase-app, le projet NocoBase généré est essentiellement un monorepo basé sur Yarn Workspace.
Aperçu du répertoire racine
L'exemple suivant utilise my-nocobase-app/ comme répertoire de projet. Il peut y avoir de légères différences selon les environnements :
Description du sous-répertoire packages/
Le répertoire packages/ contient les modules centraux et les packages extensibles de NocoBase ; son contenu dépend de la source du projet :
- Projets créés via
create-nocobase-app: par défaut, il ne contient quepackages/plugins/, qui sert à stocker le code source des plugins personnalisés. Chaque sous-répertoire est un package npm indépendant. - Dépôt de code source officiel cloné : vous y verrez plus de sous-répertoires, par exemple
core/,plugins/,pro-plugins/,presets/, etc., correspondant respectivement au cœur du framework, aux plugins intégrés et aux solutions prédéfinies officielles.
Dans tous les cas, packages/plugins est l'emplacement principal pour le développement et le débogage de vos plugins personnalisés.
Répertoire d'exécution storage/
storage/ contient les données générées à l'exécution et les sorties de build. Voici une description des sous-répertoires courants :
apps/: configuration et cache pour les scénarios multi-applications.logs/: journaux d'exécution et sorties de débogage.uploads/: fichiers et ressources multimédias téléchargés par les utilisateurs.plugins/: plugins packagés téléchargés via l'interface ou importés via la CLI.tar/: packages compressés de plugins générés après l'exécution deyarn build <plugin> --tar.
En général, il est recommandé d'ajouter le répertoire storage à votre .gitignore et de le gérer séparément lors du déploiement ou de la sauvegarde.
Configuration de l'environnement et scripts du projet
.env,.env.test,.env.e2e: utilisés respectivement pour l'exécution locale, les tests unitaires/d'intégration et les tests de bout en bout (E2E).scripts/: contient les scripts opérationnels courants, par exemple l'initialisation de la base de données, les utilitaires de publication, etc.
Chemins de chargement et priorité des plugins
Les plugins peuvent exister à plusieurs emplacements ; au démarrage, NocoBase les charge dans l'ordre de priorité suivant :
- La version du code source dans
packages/plugins(pour le développement et le débogage locaux). - La version packagée dans
storage/plugins(téléchargée via l'interface ou importée via la CLI). - Les packages de dépendances dans
node_modules(installés via npm/yarn ou intégrés au framework).
Si un plugin portant le même nom existe à la fois dans le répertoire source et dans le répertoire packagé, NocoBase priorisera le chargement de la version source, ce qui facilite les surcharges locales et le débogage.
Modèle de répertoire de plugin
Créez un plugin avec la CLI :
La structure de répertoire générée est la suivante :
Une fois la construction terminée, le répertoire dist/ ainsi que les fichiers client-v2.js et server.js seront chargés lors de l'activation du plugin. Pendant le développement, il suffit de modifier le répertoire src/ ; avant la publication, exécutez yarn build <plugin> ou yarn build <plugin> --tar.
Liens connexes
- Écrire votre premier plugin — créez un plugin de zéro et expérimentez le flux complet de développement
- 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
- Gestion des dépendances — déclaration et gestion des dépendances de plugins

