logologo
Начало
Руководство
Разработка
Плагины
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Начало
Руководство
Разработка
Плагины
API
logologo

Быстрый старт

Обзор разработки плагинов
Создание первого плагина
Структура каталогов проекта

Серверная разработка

Обзор
Плагин
Коллекции (таблицы данных)
Операции с базой данных
Управление источниками данных (DataSourceManager)
Управление ресурсами (ResourceManager)
Контроль доступа (ACL)
Промежуточное ПО (Middleware)
Кэш
Событие
Контекст запроса
Миграции
Логгер
Интернационализация (I18n)
Командная строка
Управление задачами Cron (CronJobManager)
Тестирование

Клиентская разработка

Обзор
Плагин
Контекст
Маршрутизатор
Контроль доступа (ACL)
Управление источниками данных (DataSourceManager)
Ресурс
Запрос
Стили и темы
Логгер
Интернационализация (I18n)
Тестирование

Прочее

Руководство по обновлению плагинов
Список языков
Управление зависимостями
Сборка
Next PageОбзор разработки плагинов
Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

#Обзор разработки плагинов

NocoBase использует микроядерную архитектуру, где ядро отвечает только за планирование жизненного цикла плагинов, управление зависимостями и инкапсуляцию базовых возможностей. Все бизнес-функции предоставляются в виде плагинов. Поэтому понимание структуры, жизненного цикла и способов управления плагинами — это первый шаг к кастомизации NocoBase.

#Ключевые концепции

  • Plug and Play (Подключай и работай): Вы можете устанавливать, включать или отключать плагины по мере необходимости, гибко комбинируя бизнес-функции без изменения кода.
  • Полная интеграция (Full-stack): Плагины обычно включают в себя как серверную, так и клиентскую реализацию, обеспечивая согласованность между логикой данных и взаимодействием с пользовательским интерфейсом.

#Базовая структура плагина

Каждый плагин представляет собой независимый npm-пакет и обычно имеет следующую структуру каталогов:

plugin-hello/
├─ package.json          # Название плагина, зависимости и метаинформация плагина NocoBase
├─ client.js             # Результат сборки фронтенда для загрузки во время выполнения
├─ server.js             # Результат сборки бэкенда для загрузки во время выполнения
├─ src/
│  ├─ client/            # Исходный код клиента, может регистрировать блоки, действия, поля и т.д.
│  └─ server/            # Исходный код сервера, может регистрировать ресурсы, события, команды и т.д.

#Соглашения о каталогах и порядок загрузки

По умолчанию NocoBase сканирует следующие каталоги для загрузки плагинов:

my-nocobase-app/
├── packages/
│   └── plugins/          # Плагины в процессе разработки (наивысший приоритет)
└── storage/
    └── plugins/          # Скомпилированные плагины, например, загруженные или опубликованные
  • packages/plugins: Каталог для локальной разработки плагинов, поддерживающий компиляцию и отладку в реальном времени.
  • storage/plugins: Здесь хранятся скомпилированные плагины, например, коммерческие версии или сторонние плагины.

#Жизненный цикл и состояния плагина

Плагин обычно проходит следующие этапы:

  1. Создание (create): Создание шаблона плагина с помощью CLI.
  2. Загрузка (pull): Загрузка пакета плагина локально, но он еще не записан в базу данных.
  3. Включение (enable): При первом включении выполняется «регистрация + инициализация»; при последующих включениях загружается только логика.
  4. Отключение (disable): Остановка работы плагина.
  5. Удаление (remove): Полное удаление плагина из системы.
TIP
  • pull отвечает только за загрузку пакета плагина; фактический процесс установки запускается при первом enable.
  • Если плагин только загружен (pull), но не включен, он не будет загружен.

#Примеры команд CLI

# 1. Создание скелета плагина
yarn pm create @my-project/plugin-hello

# 2. Загрузка пакета плагина (скачивание или привязка)
yarn pm pull @my-project/plugin-hello

# 3. Включение плагина (при первом включении устанавливается автоматически)
yarn pm enable @my-project/plugin-hello

# 4. Отключение плагина
yarn pm disable @my-project/plugin-hello

# 5. Удаление плагина
yarn pm remove @my-project/plugin-hello

#Интерфейс управления плагинами

Откройте менеджер плагинов в браузере, чтобы наглядно просматривать и управлять плагинами:

Адрес по умолчанию: http://localhost:13000/admin/settings/plugin-manager

Менеджер плагинов