Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
In NocoBase is een client-side plugin de belangrijkste manier om frontend-functionaliteit uit te breiden en aan te passen. Door de Plugin basisklasse van @nocobase/client te gebruiken, kunt u als ontwikkelaar logica registreren, paginaonderdelen toevoegen, menu's uitbreiden of functionaliteit van derden integreren in verschillende levenscyclusfasen.
Een basisstructuur voor een client-side plugin ziet er als volgt uit:
Elke plugin doorloopt de volgende levenscyclus in volgorde wanneer de browser wordt vernieuwd of de applicatie wordt geïnitialiseerd:
| Levenscyclusmethode | Uitvoermoment | Beschrijving |
|---|---|---|
| afterAdd() | Wordt direct uitgevoerd nadat de plugin aan de plugin-manager is toegevoegd. | Het plugin-exemplaar is op dit punt al aangemaakt, maar niet alle plugins zijn volledig geïnitialiseerd. Geschikt voor lichte initialisatie, zoals het lezen van configuratie of het koppelen van basisevenementen. |
| beforeLoad() | Wordt uitgevoerd vóór de load()-methode van alle plugins. | U hebt toegang tot alle ingeschakelde plugin-exemplaren (this.app.pm.get()). Geschikt voor voorbereidende logica die afhankelijk is van andere plugins. |
| load() | Wordt uitgevoerd wanneer de plugin laadt. | Deze methode wordt uitgevoerd nadat de beforeLoad()-methode van alle plugins is voltooid. Geschikt voor het registreren van frontend-routes, UI-componenten en andere kernlogica. |
Elke keer dat de browser wordt vernieuwd, worden afterAdd() → beforeLoad() → load() in deze volgorde uitgevoerd.
Vanaf NocoBase 2.0 zijn de client-side uitbreidings-API's voornamelijk geconcentreerd in de FlowEngine. Binnen een plugin-klasse kunt u het engine-exemplaar verkrijgen via this.engine.
Voor meer informatie, zie: