Ця документація була автоматично перекладена штучним інтелектом.
Незалежно від того, чи клонуєте ви вихідний код з 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.