项目目录结构
不管你是通过 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:分别对应本地运行、单元/集成测试、端到端测试。scripts/:存放常用运维脚本,比如数据库初始化、发布辅助工具等。
插件加载路径与优先级
插件可能存在于多个位置,NocoBase 启动时按以下优先级加载:
packages/plugins中的源代码版本(用于本地开发与调试)。storage/plugins中的打包版本(通过界面上传或 CLI 导入)。node_modules中的依赖包(通过 npm/yarn 安装或框架内置)。
如果同名插件同时存在于源码目录和打包目录,NocoBase 会优先加载源码版本,方便本地覆盖与调试。
插件目录模板
用 CLI 创建插件:
生成的目录结构如下:
提示
构建完成后,dist/ 及 client-v2.js、server.js 文件会在插件启用时被加载。开发阶段只需修改 src/ 目录,发布前执行 yarn build <plugin> 或 yarn build <plugin> --tar 即可。

