nocobase/packages/server
Junyi c5f089d7b7
feat: add permissions plugin (#53)
* test: skip bug test cases for ci passing

* feat: add base structure of plugin-permissions

* fix: user token parsing

* Refactor action parameter for better mergeParams (#55)

* refactor: add parameter types to handle parameters in action [WIP]

* fix: action parameter

* fix: test cases

* test: try to fix build error

* remove unused packages

* fix: revert compatibility back

Co-authored-by: chenos <chenlinxh@gmail.com>

* 补充权限界面相关功能

* bugfix

* fix: developer mode does not work

* feat: add action scope and fields limitation in permission

* 改进权限配置表单

* feat: get/update action for role.collection

* add scope select component

* add role users tabs

* typings

* test: temp skip

Co-authored-by: chenos <chenlinxh@gmail.com>
2021-01-13 16:23:15 +08:00
..
example 发布核心框架 (#6) 2020-11-11 15:23:39 +08:00
src feat: add permissions plugin (#53) 2021-01-13 16:23:15 +08:00
.env.example Doc: add README.md for server. (#12) 2020-11-13 22:00:35 +08:00
.gitignore 发布核心框架 (#6) 2020-11-11 15:23:39 +08:00
package.json 发布核心框架 (#6) 2020-11-11 15:23:39 +08:00
README.md Doc: add README.md for server. (#12) 2020-11-13 22:00:35 +08:00

Server 是 NocoBase 的应用服务入口,提供一个可基于 NocoBase 低代码框架启动的应用服务容器。

应用启动后除了拥有基于框架快速提供服务的能力,也可以通过内置的插件机制安装各类插件为应用扩展更多的功能。

快速开始

Docker

如果需要直接启动一个无代码应用服务,使用 Docker 是最容易的方式。

docker run nocobase/server

Node 应用

npm install @nocobase/server

在应用入口文件(例如 server.js)中:

const Server = require('@nocobase/server');

const app = new Server({
  basePath: process.env.BASE_PATH,
  database: process.env.DATABASE_URL
});

app.listen(3000); // start http server

启动应用:

node server.js

Server 继承自 Koa所以实例也可以作为其他 Koa 应用的中间件使用。

深度定制

NocoBase 对开发者是透明的,你可以直接 clone 仓库代码进行更复杂的扩展或定制,以实现特定业务场景的功能。

插件

插件是对 NocoBase 进行扩展的机制,插件通常是一段可执行的代码,在进程启动的时被自动加载(热插拔机制将在未来提供),在加载同时会注入插件可以使用的应用上下文对象,以便对应用进行扩展。

加载和初始化

NocoBase 将自动加载以下规则的插件: