68 lines
1.6 KiB
Markdown
68 lines
1.6 KiB
Markdown
|
---
|
||
|
title: 了解插件
|
||
|
order: 1
|
||
|
nav:
|
||
|
title: 插件
|
||
|
order: 3
|
||
|
path: /plugins
|
||
|
group:
|
||
|
order: 1
|
||
|
title: 教程
|
||
|
---
|
||
|
|
||
|
# 了解插件
|
||
|
|
||
|
NocoBase 核心提供了丰富的 API 用于处理扩展,但是直接调用底层 API 成本较高。因此,又提供了更为灵活、便捷的插件化管理方式,用户只需要将代码放在约定的几个目录里即可。
|
||
|
|
||
|
<Alert title="重要提示" type="warning">
|
||
|
NocoBase 插件之间是平行的,不存在直接的依赖关系,不过插件在加载时可能有优先级。
|
||
|
</Alert>
|
||
|
|
||
|
## 目录结构 <Badge>未实现</Badge>
|
||
|
|
||
|
```bash
|
||
|
|- @nocobase/plugin-[name] 或 nocobase-plugin-[name]
|
||
|
|- src
|
||
|
|- actions
|
||
|
|- collections
|
||
|
|- fields
|
||
|
|- hooks
|
||
|
|- interfaces
|
||
|
|- middlewares
|
||
|
|- models
|
||
|
|- resources
|
||
|
|- blocks
|
||
|
```
|
||
|
|
||
|
<Alert title="注意" type="warning">
|
||
|
|
||
|
目前 v0.4 版本的插件还十分简陋,只提供了一个非常原生态的函数扩展,其他的都需要开发者根据情况调用核心 API 来完成各类功能扩展,并未提供约定式目录,也没有完整的生命周期机制。没有安装/卸载、激活/禁用,加载即激活。
|
||
|
|
||
|
</Alert>
|
||
|
|
||
|
## PluginManager <Badge>未实现</Badge>
|
||
|
|
||
|
插件的几个状态
|
||
|
|
||
|
- 下载
|
||
|
- 启动
|
||
|
- 停止
|
||
|
- 重启
|
||
|
- 删除
|
||
|
|
||
|
### API <Badge>未实现</Badge>
|
||
|
|
||
|
- `pluginManager.pull()`
|
||
|
- `pluginManager.start()`
|
||
|
- `pluginManager.stop()`
|
||
|
- `pluginManager.restart()`
|
||
|
- `pluginManager.remove()`
|
||
|
|
||
|
### CLI <Badge>未实现</Badge>
|
||
|
|
||
|
- `yarn nocobase pull <name>`
|
||
|
- `yarn nocobase start <name>`
|
||
|
- `yarn nocobase stop <name>`
|
||
|
- `yarn nocobase restart <name>`
|
||
|
- `yarn nocobase remove <name>`
|