Эта документация была автоматически переведена ИИ.
Структура проекта
Независимо от того, клонируете ли вы исходный код из Git или инициализируете проект с помощью create-nocobase-app, сгенерированный проект NocoBase по сути является монорепозиторием, основанным на Yarn Workspace.
Обзор каталогов верхнего уровня
В следующем примере my-nocobase-app/ используется как корневой каталог проекта. В разных средах могут быть небольшие отличия:
Описание подкаталога packages/
Каталог packages/ содержит основные модули NocoBase и расширяемые пакеты. Его содержимое зависит от ис точника проекта:
- Проекты, созданные с помощью
create-nocobase-app: По умолчанию содержат толькоpackages/plugins/, где хранится исходный код пользовательских плагинов. Каждый подкаталог является независимым npm-пакетом. - Клонированный официальный репозиторий исходного кода: Вы увидите больше подкаталогов, таких как
core/,plugins/,pro-plugins/,presets/и т.д., которые соответствуют ядру фреймворка, встроенным плагинам и официальным предустановленным решениям.
В любом случае, packages/plugins является основным местом для разработки и отладки пользовательских плагинов.
Каталог storage/ для данных времени выполнения
В storage/ хранятся данные, генерируемые во время выполнения, и результаты сборки. Ниже приведено описание распространенных подкаталогов:
apps/: Конфигурация и кэш для сценариев с несколькими приложениями.logs/: Журналы выполнения и вывод отладки.uploads/: Загруженные пользователями файлы и медиаресурсы.plugins/: Упакованные плагины, загруженные через интерфейс или импортированные через CLI.tar/: Сжатые пакеты плагинов, сгенерированные после выполненияyarn build <plugin> --tar.
Обычно рекомендуется добавлять каталог
storageв.gitignoreи обрабатывать его отдельно при развертывании или резервном копировании.
Конфигурация среды и скрипты проекта
.env,.env.test,.env.e2e: Используются для локального запуска, модульного/интеграционного тестирования и сквозного (E2E) тестирования соответственно.scripts/: Содержит часто используемые скрипты для операций (например, инициализация базы данных, вспомогательные инструменты для выпуска и т.д.).
Пути загрузки плагинов и их приоритет
Плагины могут находиться в нескольких местах. При запуске NocoBase загружает их в следующем порядке приоритета:
- Версия исходного кода в
packages/plugins(для локальной разработки и отладки). - Упакованная версия в
storage/plugins(загруженная через интерфейс или импортированная через CLI). - Пакеты зависимостей в
node_modules(установленные через npm/yarn или встроенные во фреймворк).
Если плагин с одним и тем же именем существует как в каталоге исходного кода, так и в каталоге с упакованными версиями, система будет отдавать приоритет загрузке версии из исходного кода, что упрощает локальное переопределение и отладку.
Шаблон каталога плагина
Создание плагина с помощью CLI:
Сгенерированная структура каталогов выглядит следующим образом:
После завершения сборки каталог
dist/и файлыclient.js,server.jsбудут загружены при включении плагина.
На этапе разработки вам нужно изменять только каталогsrc/. Перед публикацией выполнитеyarn build <plugin>илиyarn build <plugin> --tar.

