Processus du module
Cette page décrit l’ordre réel d’exécution du module Nuxt.
Résolution au build Nuxt
src/module.ts exécute le processus suivant :
resolveOptions()résout les valeurs par défaut et les chemins absolus.applyRuntimeConfig()sépare la configuration privée et la configuration publique.applyConsoleLayer()enregistre uniquement les façades Nitro historiques si elles sont activées.applyAliases()configure les alias runtime.applyTypeIncludes()ajoute les types nécessaires au projet.- Nitro reçoit l’option websocket expérimentale lorsque Socket.IO est actif.
applyServerLayer()prépare le serveur embedded et découvre les services.applyClientLayer()prépare le client embedded ou remote.applyDevtoolsLayer()expose les diagnostics de développement.applyMcpLayer()applique l’intégration MCP lorsqu’elle est configurée.
Démarrage du serveur embedded
Le bootstrap suit cet ordre logique :
text
infrastructure
↓
modules:pre
↓
plugins
↓
services
↓
modules:post
↓
app.setup()
↓
routeurs REST et Socket.IO
↓
readyLa disponibilité n’est résolue qu’après la création des routeurs. Le routeur Socket.IO est attendu avec await.
Découverte des services
servicesDirs est résolu par rapport à la racine Nuxt. Un chemin déjà absolu reste absolu.
Le scanner construit un manifeste déterministe utilisé par :
- les imports serveur ;
- les schémas ;
- les services NFZ de console ;
- les diagnostics.
Enregistrement des services NFZ
Lorsque console.enabled est actif, les services NFZ sont enregistrés avant app.setup() :
text
nfz/services
nfz/schemas
nfz/manifest
nfz/builder
nfz/status
nfz/rbac
nfz/presets
nfz/initUne application qui a déjà fourni un service au même chemin n’est pas écrasée.
Arrêt
Le teardown est idempotent :
- l’instance passe en fermeture ;
- Feathers exécute
app.teardown(); - le
MongoClientdétenu par le runtime est fermé ; - l’instance est retirée du registre ;
- un second appel de fermeture reste sans effet dangereux.
Fichiers structurants
| Zone | Rôle |
|---|---|
src/module.ts | entrée du module Nuxt |
src/setup/ | couches de configuration Nuxt/Nitro |
src/runtime/server/ | bootstrap et runtime Feathers embedded |
src/runtime/composables/ | API Nuxt côté client |
src/runtime/options/ | types et résolution de configuration |
src/cli/ | commandes et générateurs |
services/ | services du playground et échantillons de validation |
playground/ | centre de validation fonctionnelle |
