Plugin 插件
在 NocoBase 中,客户端插件(Client Plugin) 是扩展和定制前端功能的主要方式。你可以在插件目录的 src/client-v2/plugin.tsx 里继承 @nocobase/client-v2 提供的 Plugin 基类,然后在 load() 等生命周期里注册路由、模型和其他资源。
大部分时候你只需要关心 load()——通常来说核心逻辑是注册在 load() 阶段。
前置条件
开发客户端插件之前,请确保你已经阅读了 编写第一个插件 章节,生成了基本的插件目录结构和文件。
基本结构
生命周期
每次浏览器刷新或应用初始化时,插件会依次执行 afterAdd() → beforeLoad() → load():
通常来说,开发一个客户端插件只需要写 load() 就够了。
在 load() 里做什么
load() 是注册插件功能的核心入口。常见操作:
注册页面路由:
详细用法见 Router 路由。
注册 FlowModel:
registerModelLoaders 使用按需加载(动态导入),只有在模型首次被使用时才会加载对应模块,是推荐的注册方式。详细用法见 FlowEngine。
插件常用属性
在插件类中,以下属性可以直接通过 this 访问:
如果需要访问更多 NocoBase 能力(比如 api、t(i18n)、logger),可以通过 this.context 获取:
更多上下文能力见 Context 上下文。
相关链接
- Router 路由 — 注册页面路由和插件设置页
- Component 组件开发 — 路由挂载的 React 组件怎么写
- Context 上下文 — 通过上下文使用 NocoBase 内置能力
- FlowEngine — 注册区块、字段、操作等可视化配置组件
- 编写第一个插件 — 从零创建插件

