tachybase_todo/docs/en-US/development/learning-guide.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

2.9 KiB
Raw Blame History

学习路线指南

1. 从安装运行 NocoBase 开始

相关文档:快速开始

主要命令包括:

下载

yarn create/git clone
yarn install

安装

yarn nocobase install

运行

# for development
yarn dev

# for production
yarn build
yarn start

2. 了解 NocoBase 平台提供的核心功能

相关文档:使用手册

主要的三部分包括:

  • UI 设计器:主要包括区块、字段和操作
  • 插件管理器:功能需求扩展
  • 配置中心:已激活插件提供的配置功能

3. 进一步了解插件管理器的使用

相关文档:插件开发

NocoBase 提供了简易的插件管理器界面,但是在界面上只能处理本地插件的 enable、disable 和 remove完整的操作需要通过 CLI

# 创建插件
yarn pm create hello
# 注册插件
yarn pm add hello
# 激活插件
yarn pm enable hello
# 禁用插件
yarn pm disable hello
# 删除插件
yarn pm remove hello

更多插件示例,查看 packages/samples通过 samples 插件能够了解插件的基本用法,就可以进一步开发插件了。

4. 开发新插件,了解模块分布

相关文档:扩展指南

编写第一个插件 章节,虽然简单的讲述了插件的主要开发流程,但是为了更快速的介入插件细节,你可能需要进一步了解 NocoBase 框架的模块分布:

  • Server
    • Collections & Fields主要用于系统表配置业务表建议在「配置中心 - 数据表配置」里配置
    • Resources & Actions主要用于扩展 Action API
    • Middleware中间件
    • Events事件
    • I18n服务端国际化
  • Client
    • UI Schema Designer页面设计器
    • UI Router有自定义页面需求时
    • Plugin Settings Manager为插件提供配置页面
    • I18n客户端国际化
  • Devtools
    • Commands自定义命令行
    • Migrations迁移脚本

5. 查阅各模块主要 API

相关文档:API 参考

查看各模块的 packages/samples进一步了解模块主要 API 的用法

  • Server
    • Collections & Fields
      • db.collection
      • db.import
    • Resources & Actions
      • app.resourcer.define
      • app.resourcer.registerActions
    • Middleware
      • app.use
      • app.acl.use
      • app.resourcer.use
    • Events
      • app.on
      • app.db.on
    • I18n
      • app.i18n
      • ctx.i18n
  • Client
    • UI Schema Designer
      • SchemaComponent
      • SchemaInitializer
      • SchemaSettings
    • UI Router
      • RouteSwitchProvider
      • RouteSwitch
    • I18n
      • app.i18n
      • useTranslation
  • Devtools
    • Commands
      • app.command
      • app.findCommand
    • Migrations
      • app.db.addMigration
      • app.db.addMigrations