Ця документація була автоматично перекладена штучним інтелектом.
У NocoBase Клієнтський плагін є основним способом розширення та налаштування функціональності фронтенду. Наслідуючи базовий клас Plugin, що надається @nocobase/client, розробники можуть реєструвати логіку, додавати компоненти сторінок, розширювати меню або інтегрувати сторонні функції на різних етапах життєвого циклу.
Ось як виглядає найпростіша структура клієнтського плагіна:
Кожен плагін послідовно проходить наступні етапи життєвого циклу під час оновлення браузера або ініціалізації застосунку:
| Метод життєвого циклу | Час виконання | Опис |
|---|---|---|
| afterAdd() | Виконується одразу після додавання плагіна до менеджера плагінів | На цьому етапі екземпляр плагіна вже створено, але не всі плагіни завершили ініціалізацію. Підходить для легкої ініціалізації, наприклад, для читання конфігурації або прив'язки базових подій. |
| beforeLoad() | Виконується перед методом load() усіх плагінів | Має доступ до всіх увімкнених екземплярів плагінів (this.app.pm.get()). Підходить для підготовчої логіки, яка залежить від інших плагінів. |
| load() | Виконується під час завантаження плагіна | Цей метод виконується після завершення beforeLoad() усіх плагінів. Підходить для реєстрації фронтенд-маршрутів, компонентів інтерфейсу та іншої основної логіки. |
Щоразу при оновленні браузера виконується послідовність afterAdd() → beforeLoad() → load()
Починаючи з NocoBase 2.0, API розширення на стороні клієнта зосереджені переважно у FlowEngine. У класі плагіна ви можете отримати екземпляр рушія через this.engine.
Докладніше дивіться тут: