基于Express快速构建WEB应用服务的框架
安装
npm install --save node-fashion
选项
- baseUrl: [String] - 默认
/api
- port: [Number] - 端口, 默认
12321
- debugger: [Boolean] - 调试模式, 默认
false
- logger: [Object] - 日志输出, 默认
console
文档
-
route
- url: 请求地址, 如'/users', '/users/:id'
- method: HTTP请求方法, [OPTIONS|GET|POST|PUT|DELETE|...]
- description: 描述信息
- handle: 请求处理函数
{ url: '/users', method: 'GET', description: '获取用户列表', handle: function (req, res) { ... res.respond(null, [ {id: 1, name: 'qwe'}, {id: 2, name: 'aaa'}, ]) } }
-
server.handle([Array | Object])
- 注册route, 可以传递一个route对象或route对象的数组
-
server.use()
- 该方法等同于Express的use方法
-
server.start()
- 启动服务
-
server.interceptors([Callback Function])
- 简易路由拦截器, 携带四个参数req, res, route, next,
- 其中route包含url,baseUrl,method,description四个属性
server.interceptors(function (req, res, route, next) { console.log(route) next() })
-
server.beforeResponse([Callback Function])
- 服务器响应客户端前的自定义回调函数, 你可以在这里做一些额外的工作, 默认
null
- 必须调用'res.respond()'方法, 该回调函数才会生效
- 该回调接受三个参数(err, route, done)
- err: 服务器处理返回的错误信息
- route: 所请求的路由信息, 额外包含(params, body, originalUrl)信息
- done: 必须调用
done()
方法来结束该回调函数
- 服务器响应客户端前的自定义回调函数, 你可以在这里做一些额外的工作, 默认
-
res.respond([Error Object | String], [Error Code | Object])
// 调用通用响应处理函数
function (req, res) {
// ...
// error - errorCode默认是`500`
res.respond(new Error('error message'))
res.respond(new Error('error message'), 401)
res.respond('error message', 401)
// success
res.respond(null, [{id: 1, name: 'qwe'}, {id: 2, name: 'aaa'}])
}
使用
users.js
moduleexports = url: '/users' method: 'get' { res } url: '/users/:id' method: 'get' { res } url: '/users' method: 'post' { res }
api.js
moduleexports = url: '/hello-world' method: 'get' { res }
index.js
var Server = var server = // add middlewareserver // add basic apiserver // 统一接口函数处理server serverstart