RuntimeConfig
Cette page remplace l’ancien contenu de maintien de navigation par une explication opérationnelle de la configuration privée _feathers et publique public._feathers. Elle est destinée aux développeurs qui veulent comprendre l’option, l’activer dans nuxt.config.ts et vérifier son comportement dans un projet Nuxt 4.
Objectif
Cette option ou fonctionnalité permet de garder une architecture cohérente entre le module Nuxt, le runtime Feathers, les services générés, le client TypeScript et le CLI. L’exemple ci-dessous donne une base directement réutilisable.
Quand utiliser cette option ?
Utilise cette page lorsque tu veux :
- configurer précisément la configuration privée
_featherset publiquepublic._feathers; - documenter le choix dans un starter ou une application ;
- tester rapidement le comportement avec une commande CLI ;
- éviter les divergences entre configuration, fichiers générés et runtime.
Exemple de configuration
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['nuxt-feathers-zod'],
feathers: {
devtools: true,
console: {
enabled: true,
basePath: '/console',
allowWrite: false,
},
}
})Exemple CLI
bunx nuxt-feathers-zod doctorExemple d’utilisation
const { api } = useFeathers()
const messages = api.service('messages')
const result = await messages.find({
query: { $limit: 10 },
})
const config = useRuntimeConfig()
const mode = config.public._feathers?.client?.modeCache natif et frontière privée
feathers.cache est résolu uniquement dans runtimeConfig._feathers.cache. Il n'est jamais copié dans runtimeConfig.public._feathers. Le frontend ne doit donc pas dépendre de la présence, du namespace ou des diagnostics du cache serveur.
En Patch073 r1, seul le provider memory est disponible. Les identifiants Redis restent hors du contrat NFZ natif et, lorsqu'une application utilise Nitro/Unstorage, doivent rester dans une section privée de runtimeConfig.
Points de vigilance
- Les chemins exposés (
/feathers,/feathers/nfz/*,/socket.io,/mongo) et les éventuelles façades/api/nfz/*doivent être documentés dans le projet applicatif. - Les options qui exposent une surface d’administration doivent être protégées avant un déploiement hors local.
- Les services générés par le CLI restent préférables aux services écrits manuellement pour conserver le manifest, les types et les hooks.
Bonnes pratiques
- Lance
bunx nuxt-feathers-zod doctoraprès la modification. - Utilise
--dryavant les commandes qui écrivent dans le projet. - Versionne les fichiers générés importants et documente toute option non standard.
- Teste un appel REST minimal avant de diagnostiquer le frontend.
