Обзор
Клиентские плагины NocoBase позволяют регистрировать новые страницы, писать пользовательские компоненты, вызывать API сервера, добавлять блоки и поля, а также расширять кнопки действий. Все эти возможности организованы через единую точку входа плагина.
Если у вас уже есть опыт разработки на React, начать будет проще: в большинстве сценариев достаточно написать обычные React-компоненты и подключить их к NocoBase через возможности контекста, например запросы и интернационализацию. Изучать FlowEngine нужно только тогда, когда компонент должен появиться в визуальном интерфейсе настройки NocoBase.
NocoBase переходит с client (v1) на client-v2. Сейчас client-v2 все еще находится в разработке. Материалы этого раздела предназначены для раннего ознакомления и не рекомендуются для использования в production. Для новых плагинов используйте каталог src/client-v2/ и API @nocobase/client-v2.
Путь изучения
Рекомендуется изучать разработку клиентских плагинов в следующем порядке, от простого к более сложному:
Подробно:
- Plugin: входной класс плагина. В методах жизненного цикла, таких как
load(), регистриру ются маршруты, модели и другие ресурсы. - Router: регистрация маршрутов страниц через
router.add()и страниц настроек плагина черезpluginSettingsManager. - Component: маршруты монтируют React-компоненты. По умолчанию можно использовать React + Antd, как в обычной frontend-разработке.
- Context: в плагинах контекст доступен через
this.context, а в компонентах черезuseFlowContext(). Он дает доступ к возможностям NocoBase: запросам (ctx.api), интернационализации (ctx.t), логированию (ctx.logger) и другим сервисам. - FlowEngine: если компонент должен появляться в меню "Добавить блок / поле / действие" и поддерживать визуальную настройку пользователями, его нужно обернуть в FlowModel.
Первые четыре шага покрывают большинство сценариев разработки плагинов. Пятый шаг нужен только для глубокой интеграции с системой настройки UI NocoBase. Если вы не уверены, какой подход выбрать, см. Component vs FlowModel.
Краткий указатель
Связанные ссылки
- Написание первого плагина - создание рабочего плагина с нуля
- Обзор серверной разработки - клиентским плагинам обычно нужна серверная часть
- Полная документация FlowEngine - справочник по FlowModel, Flow и Context
- Структура каталогов проекта - где размещать файлы плагина

