nocobase/docs/zh-CN/development/index.md
jack zhang 35b06cbfa0
refactor: plugin settings manager (#2712)
* feat: add settingsCenter

* fix: style bug

* chore: optimized code

* refactor: settingCenter Auth

* feat: add aclSnippet option

* refactor: all plugin's setting center api

* feat: add plugin with name

* docs: add settings-center doc

* fix: settings center menu sort by name

* fix: change setting center layout

* fix: change hello sort

* test: add SettingsCenter.ts test case

* fix: bug

* fix: acl bug

* fix: bug

* fix: bug and 404 page

* fix: test bug

* fix: test bug

* fix: bug

* fix: locale

* fix: styling

* fix: rename settingsCenter to pluginSettingsManager

* fix: styling

* fix: e2e bug

* fix: e2e bug

* fix: locale

* feat: update docs

* fix: update

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-11-13 11:01:18 +08:00

63 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 介绍
NocoBase 采用微内核架构,各类功能以插件形式扩展。前后端分离,提供了各种插件化接口。插件按功能模块划分,具有可插拔的特点。
<img src="https://www.nocobase.com/images/NocoBaseMindMapLite.png" style="max-width: 800px;" >
插件化的设计降低了模块之间的耦合度,提高了复用率。随着插件库的不断扩充,常见的场景只需要组合插件即可完成基础搭建。例如 NocoBase 的无代码平台,就是由各种插件组合起来。
<img src="./index/pm-built-in.jpg" style="max-width: 800px;" />
## 插件管理器
NocoBase 提供了强大的插件管理器用于管理插件,插件管理器的流程如下:
<img src="./index/pm-flow.svg" style="max-width: 580px;" />
无代码用户可以通过界面管理本地插件的激活和禁用:
<img src="./index/pm-ui.jpg" style="max-width: 800px;" />
开发者也可以通过 CLI 的方式管理完整的插件流程:
```bash
# 创建插件
yarn pm create hello
# 注册插件
yarn pm add hello
# 激活插件
yarn pm enable hello
# 禁用插件
yarn pm disable hello
# 删除插件
yarn pm remove hello
```
更多插件示例,查看 [packages/samples](https://github.com/nocobase/nocobase/tree/main/packages/samples)。
## 扩展能力
无论是通用性的功能还是个性化定制都建议以插件的形式编写NocoBase 的扩展性体现在方方面面:
- 可以是用户直观可见的界面相关的页面模块、区块类型、操作类型、字段类型等
- 也可以是用于增强或限制 HTTP API 的过滤器、校验器、访问限制等
- 也可以是更底层的数据表、迁移、事件、命令行等功能的增强
各模块分布:
- Server
- Collections & Fields主要用于系统表配置业务表建议在「配置中心 - 数据表配置」里配置
- Resources & Actions主要用于扩展 Action API
- Middleware中间件
- Events事件
- I18n服务端国际化
- Commands自定义命令行
- Migrations迁移脚本
- Client
- UI Schema Designer页面设计器
- UI Router有自定义页面需求时
- Plugin Settings Manager为插件提供配置页面
- I18n客户端国际化