kb-server 0.0.1-beta.11 → 0.0.1-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/dist/common/create-server.d.ts +26 -0
- package/dist/common/create-server.js +3 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,13 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
快速创建一个 Node 服务
|
|
4
4
|
|
|
5
|
-
快速创建 API、标准错误码、Server、支持统一鉴权函数(API
|
|
5
|
+
快速创建 API、标准错误码、Server、支持统一鉴权函数(API 级别)、自定义中间件、日志
|
|
6
6
|
|
|
7
7
|
```javascript
|
|
8
8
|
import { createServer } from "kb-server";
|
|
9
9
|
import * as apis from "./apis";
|
|
10
10
|
|
|
11
|
+
// 写法一
|
|
12
|
+
const server = createServer({ apis });
|
|
13
|
+
server.listen(3000);
|
|
14
|
+
|
|
15
|
+
// 写法二
|
|
11
16
|
(async () => {
|
|
17
|
+
// 其他的异步操作,例如:初始化数据库
|
|
12
18
|
return createServer({ apis });
|
|
13
19
|
})().then((app) => app.listen(3000));
|
|
14
20
|
```
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import express from "express";
|
|
1
2
|
import { AuthFunction } from "./api-middleware";
|
|
2
3
|
import { APIs } from "./create-api";
|
|
3
4
|
export interface ICreateServerParams {
|
|
@@ -15,6 +16,31 @@ export interface ICreateServerParams {
|
|
|
15
16
|
* 默认请求日志,true开启,false关闭
|
|
16
17
|
*/
|
|
17
18
|
log?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* 自定义中间件列表
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* ```
|
|
25
|
+
* import cors from "cors"; // 引入cors中间件
|
|
26
|
+
*
|
|
27
|
+
* ...其他代码...
|
|
28
|
+
*
|
|
29
|
+
* const server = createServer(
|
|
30
|
+
* {
|
|
31
|
+
* apis: myAPIs,
|
|
32
|
+
* authFn: myAuthFunction,
|
|
33
|
+
* log: true,
|
|
34
|
+
* middlewares: [cors()], // 传入cors中间件
|
|
35
|
+
* },
|
|
36
|
+
* {
|
|
37
|
+
* limit: "5mb",
|
|
38
|
+
* }
|
|
39
|
+
*);
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
middlewares?: express.RequestHandler[];
|
|
18
44
|
}
|
|
19
45
|
export interface ICreateServerOptions {
|
|
20
46
|
limit?: string | number | undefined;
|
|
@@ -30,12 +30,14 @@ const api_middleware_1 = require("./api-middleware");
|
|
|
30
30
|
* 创建 Server
|
|
31
31
|
*/
|
|
32
32
|
function createServer(params, options) {
|
|
33
|
-
const { apis, authFn, log } = params || {};
|
|
33
|
+
const { apis, authFn, log, middlewares = [] } = params || {};
|
|
34
34
|
const { limit = "10mb" } = options || {};
|
|
35
35
|
const app = (0, express_1.default)();
|
|
36
36
|
// POST 参数获取
|
|
37
37
|
app.use((0, express_1.urlencoded)({ extended: true, limit }));
|
|
38
38
|
app.use((0, express_1.json)({ limit }));
|
|
39
|
+
// 使用自定义中间件
|
|
40
|
+
middlewares.forEach((middleware) => app.use(middleware));
|
|
39
41
|
// 注入API
|
|
40
42
|
app.use((0, api_middleware_1.packAPI)(apis, { authFn, log }));
|
|
41
43
|
return app;
|