Router - routage
Dans NocoBase, les plugins enregistrent des pages via le routage. Deux approches courantes :
this.router.add()— Enregistrer une route de page classiquethis.pluginSettingsManager.addMenuItem()+addPageTabItem()— Enregistrer une page de configuration de plugin
L'enregistrement des routes se fait habituellement dans la méthode load() du plugin ; voir Plugin pour plus de détails.
Pour les plugins de NocoBase v2, les routes enregistrées seront préfixées par /v2 par défaut ; il faut donc inclure ce préfixe dans l'URL d'accès.
Routes par défaut
NocoBase a déjà enregistré les routes par défaut suivantes :
Routes de page
Enregistrez vos routes de page via this.router.add(). Pour les composants de page, il est recommandé d'utiliser componentLoader pour un chargement à la demande, afin que le code de la page ne soit chargé que lorsque la route est réellement visitée.
Les fichiers de page doivent obligatoirement exporter le composant via export default.
Enregistrement dans le load() du plugin :
Le premier argument de router.add() est le nom de la route, qui prend en charge la notation pointée . pour exprimer une relation parent-enfant. Par exemple, root.home désigne une sous-route de root.
Dans un composant, vous pouvez naviguer vers cette route via ctx.router.navigate('/hello').
Pour plus de détails, voir la section sur le routage dans Développement de Component.
Routes imbriquées
L'imbrication s'obtient via la notation pointée. La route parente utilise <Outlet /> pour rendre le contenu de la sous-route :
Paramètres dynamiques
Les chemins de route prennent en charge les paramètres dynamiques :
Dans le composant, récupérez les paramètres dynamiques via ctx.route.params :
Pour plus de détails, voir la section sur le routage dans Développement de Component.
componentLoader vs element
componentLoader(recommandé) : chargement à la demande, idéal pour les composants de page ; le fichier de page doit utiliserexport defaultelement: passe directement du JSX, adapté aux composants de mise en page ou aux pages inline très légères
Si la page est lourde, préférez componentLoader.
Pages de configuration de plugin
Enregistrez les pages de configuration de plugin via this.pluginSettingsManager. L'enregistrement se fait en deux étapes : d'abord enregistrer l'entrée de menu avec addMenuItem(), puis enregistrer la page réelle avec addPageTabItem(). Les pages de configuration apparaissent dans le menu « Configuration des plugins » de NocoBase.

Une fois enregistrée, l'URL d'accès est /admin/settings/hello. Lorsqu'il n'y a qu'une seule page sous le menu, la barre d'onglets en haut est masquée automatiquement.
Page de configuration multi-onglets
Si la page de configuration nécessite plusieurs sous-pages, enregistrez plusieurs addPageTabItem avec le même menuKey ; la barre d'onglets apparaîtra automatiquement en haut :
Paramètres de addMenuItem
Paramètres de addPageTabItem
Liens connexes
- Plugin — Le routage est enregistré dans
load() - Développement de Component — Comment écrire les composants de page montés sur les routes
- Exemple pratique : créer une page de configuration de plugin — Exemple complet de page de configuration

