Plugin 插件
在 NocoBase 中,服务端插件(Server Plugin) 是扩展服务端功能的主要方式。你可以在插件目录的 src/server/plugin.ts 里继承 @nocobase/server 提供的 Plugin 基类,然后在不同的生命周期阶段注册事件、接口、权限等自定义逻辑。
插件类
一个基本的插件类结构如下:
生命周期
插件的生命周期方法按以下顺序执行,每个方法都有特定的执行时机和用途:
执行顺序说明
生命周期方法的典型执行流程:
- 静态初始化阶段:
staticImport() - 应用启动阶段:
afterAdd()→beforeLoad()→load() - 插件首次启用阶段:
afterAdd()→beforeLoad()→load()→install() - 插件二次启用阶段:
afterAdd()→beforeLoad()→load() - 插件禁用阶段:禁用插件时执行
afterDisable() - 插件删除阶段:删除插件时执行
remove()
app 及相关成员
在插件开发中,通过 this.app 可以访问应用实例提供的各种 API——这是插件扩展功能的核心入口。app 对象包含了系统的各个功能模块,你可以在插件的生命周期方法中使用它们。
app 成员列表
提示
各个模块的详细用法,请参考对应的文档章节。
相关链接
- 服务端开发概述 — 服务端各模块的总览和导航
- Collections 数据表 — 用代码定义或扩展数据表结构
- Database 数据库 — CRUD、Repository、事务与数据库事件
- Migration 数据迁移 — 插件升级时的数据迁移脚本
- Event 事件 — 应用级和数据库级的事件监听与处理
- ResourceManager 资源管理 — 注册自定义 REST API 和操作
- 编写第一个插件 — 从零开始创建一个完整的插件
- Logger 日志 — 记录系统日志
- ACL 权限控制 — 定义权限和访问策略
- Cache 缓存 — 管理系统级缓存
- CronJobManager 定时任务 — 注册和管理定时任务
- I18n 国际化 — 多语言翻译
- Command 命令行 — 注册自定义 CLI 命令
- DataSourceManager 数据源管理 — 管理多个数据源

