Event 事件
NocoBase 的服务端在应用生命周期、插件生命周期以及数据库操作等环节中,都会触发相应的事件(Event)。你可以通过监听这些事件,实现扩展逻辑、自动化操作或自定义行为。
NocoBase 的事件系统主要分为两个层面:
app.on()——应用级事件:监听应用的生命周期事件,比如启动、安装、启用插件等。db.on()——数据库级事件:监听数据模型层面的操作事件,比如创建、更新、删除记录等。
两者都继承自 Node.js 的 EventEmitter,支持使用标准的 .on()、.off()、.emit() 接口。NocoBase 还扩展了 emitAsync,用于异步触发事件并等待所有监听器执行完成。
注册事件监听的位置
事件监听通常在插件的 beforeLoad() 方法中注册,这样可以保证事件在插件加载阶段就已准备好,后续逻辑能正确响应。
监听应用事件 app.on()
应用事件用于捕获 NocoBase 应用及插件的生命周期变化,适合做初始化逻辑、资源注册或依赖检测等。
常见事件类型
比如监听应用启动事件:
比如监听插件加载事件:
监听数据库事件 db.on()
数据库事件用于捕获模型层的各种数据变更,适合做审计、同步、自动填充等操作。
常见事件类型
比如监听数据创建后事件:
比如监听更新数据前事件:
相关链接
- Plugin 插件 — 在插件生命周期方法中注册事件监听
- Database 数据库操作 — 数据库级事件的触发源与数据操作 API
- Collections 数据表 — 数据表定义与数据库事件中的模型关系
- Middleware 中间件 — 中间件与事件在请求处理中的协作
- 服务端开发概述 — 事件系统在服务端架构中的角色

