Напишите свой первый плагин
Это руководство проведет вас через создание блочного плагина, который можно использовать на страницах, с нуля, и поможет понять базовую структуру и р абочий процесс разработки плагинов NocoBase.
Предварительные требования
Перед началом убедитесь, что NocoBase успешно установлен. Если нет, воспользуйтесь следующими руководствами по установке:
После завершения установки можно официально начать путь разработки плагинов.
Шаг 1: создание каркаса плагина через консольный интерфейс
Выполните следующую команду в корневом каталоге репозитория, чтобы быстро сгенерировать пустой плагин:
После успешного выполнения команды в каталоге packages/plugins/@my-project/plugin-hello будут созданы базовые файлы. Структура по умолчанию:
После создания откройте в браузере страницу менеджера плагинов (URL по умолчанию: http://localhost:13000/admin/settings/plugin-manager), чтобы проверить, появился ли плагин в списке.
Шаг 2: реализуйте простой клиентский блок
Далее добавим в плагин пользовательскую модель блока для отображения приветственного сообщения.
- Создайте новый файл модели блока
client/models/HelloBlockModel.tsx:
- Зарегистрируйте модель блока. Отредактируйте
client/models/index.ts, чтобы экспортировать новую модель для загрузки клиентской части во время выполнения:
После сохранения кода, если у вас запущен скрипт разработки, в терминале должны появиться логи горячей перезагрузки.
Шаг 3: активируйте и протестируйте плагин
Включить плагин можно через командную строку или интерфейс:
-
Командная строка
-
Интерфейс управления: откройте менеджер плагинов, найдите
@my-project/plugin-helloи нажмите «Активировать».
После активации создайте новую страницу «Современная страница (v2)». При добавлении блоков вы увидите «Приветственный блок». Вставьте его на страницу, чтобы увидеть приветственный контент, который вы только что написали.

Предустановка и включение плагина по умолчанию (необязательно)
Выше описан способ вручную включить отдельный плагин. Если вы поддерживаете собственное приложение NocoBase и хотите, чтобы определённые плагины были автоматически готовы к работе после выполнения nocobase install (первоначальная установка) или nocobase upgrade (обновление), можно использовать две переменные среды для управления состоянием плагинов по умолчанию:
APPEND_PRESET_LOCAL_PLUGINS(добавить предустановленные плагины) — добавляет плагин в список предустановленных локальных плагинов; после установки он появится в «Менеджере плагинов», но по умолчанию не будет активирован — потребуется включить его вручнуюAPPEND_PRESET_BUILT_IN_PLUGINS(добавить встроенные плагины) — добавляет плагин в список встроенных плагинов; при установке он активируется автоматически, и как встроенный плагин его нельзя отключить или удалить через «Менеджер плагинов»
Значением обеих переменных является имя пакета плагина (поле name в package.json); несколько плагинов разделяются запятыми. В файле .env конфигурация выглядит следующим образом:
Как правило, для локальной разработки и отладки достаточно команды yarn pm enable, описанной выше. Эти две переменные больше подходят для сценариев «готового к использованию» дистрибутива — например, когда вы упаковываете приложение NocoBase с фиксированным набором плагинов и хотите, чтобы они были доступны сразу после инициализации.
- Плагин должен быть загружен локально и доступен для разрешения в каталоге
node_modules. См. Структура проекта - После настройки переменных необходимо повторно выполнить
nocobase installилиnocobase upgrade, чтобы изменения вступили в силу - Полное описание переменных среды см. в разделе Переменные среды
Шаг 4: сборка и упаковка
Когда вы будете готовы распространять плагин в другие окружения, сначала выполните сборку и упаковку:
Примечание: если плагин создан в исходном репозитории, первая сборка запустит полную проверку типов всего репозитория, что может занять время. Рекомендуется убедиться, что зависимости установлены, а репозиторий находится в собираемом состоянии.
После завершения сборки файл пакета по умолчанию находится по пути storage/tar/@my-project/plugin-hello.tar.gz.
Шаг 5: загрузка в другое приложение NocoBase
Загрузите архив и распакуйте его в каталог ./storage/plugins целевого приложения. Подробнее см. Установка и обновление плагинов.
Связанные ссылки
- Обзор разработки плагинов — микроядерная архитектура NocoBase и жизненный цикл плагина
- Структура проекта плагина — соглашения о структуре каталогов, пути загрузки и приоритеты плагинов
- Обзор серверной разработки — общее введение в серверные плагины и основные концепции
- Обзор клиентской разработки — общее введение в клиентские плагины и основные концепции
- Сборка и упаковка — процесс сборки, упаковки и распространения плагина
- Тестирование — написание тестов для серверных плагинов
- Установка с помощью create-nocobase-app — один из способов установки NocoBase
- Установка из исходного кода Git — установка NocoBase из исходного кода
- Установка и обновление плагинов — загрузка упакованного плагина в другие среды
- Переменные среды — настройка переменных среды для предустановленных и встроенных плагинов

