nocobase/docs/plugins/tutorials/index.md
chenos d5d0e1036b
docs: add docs (#75)
* docs: add docs

* ignore dumi theme test

* fix: error TS2717: Subsequent property declarations must have the same type.

* update docs

* deploy gh-pages

* plugins docs

* hash & cname

* exportStatic

* ssr

* vercel

* vercel

* fix: deploy vercel

* Delete vercel.json

* docs

* fix APP_DIST

* on master branch
2021-04-17 21:33:21 +08:00

1.6 KiB

title order nav group
了解插件 1
title order path
插件 3 /plugins
order title
1 教程

了解插件

NocoBase 核心提供了丰富的 API 用于处理扩展,但是直接调用底层 API 成本较高。因此,又提供了更为灵活、便捷的插件化管理方式,用户只需要将代码放在约定的几个目录里即可。

NocoBase 插件之间是平行的,不存在直接的依赖关系,不过插件在加载时可能有优先级。

目录结构 未实现

|- @nocobase/plugin-[name] 或 nocobase-plugin-[name]
  |- src
    |- actions
    |- collections
    |- fields
    |- hooks
    |- interfaces
    |- middlewares
    |- models
    |- resources
    |- blocks

目前 v0.4 版本的插件还十分简陋,只提供了一个非常原生态的函数扩展,其他的都需要开发者根据情况调用核心 API 来完成各类功能扩展,并未提供约定式目录,也没有完整的生命周期机制。没有安装/卸载、激活/禁用,加载即激活。

PluginManager 未实现

插件的几个状态

  • 下载
  • 启动
  • 停止
  • 重启
  • 删除

API 未实现

  • pluginManager.pull()
  • pluginManager.start()
  • pluginManager.stop()
  • pluginManager.restart()
  • pluginManager.remove()

CLI 未实现

  • yarn nocobase pull <name>
  • yarn nocobase start <name>
  • yarn nocobase stop <name>
  • yarn nocobase restart <name>
  • yarn nocobase remove <name>