0.1.3 • Published 6 years ago
node-fashion v0.1.3
基于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
module.exports = [
{
url: '/users',
method: 'get',
handle: function (req, res) {
res.respond(null, [
{
id: 123,
name: 'sdx'
},
{
id: 234,
name: 'dss'
}
])
}
},
{
url: '/users/:id',
method: 'get',
handle: function (req, res) {
res.respond(null, 'get users by id.')
}
},
{
url: '/users',
method: 'post',
handle: function (req, res) {
res.respond(null, 'add a user.')
}
}
]
api.js
module.exports = [
require('./users'),
{
url: '/hello-world',
method: 'get',
handle: function (req, res) {
res.send('hello world.')
}
}
]
index.js
var Server = require('node-fashion')
var server = new Server()
// add middleware
server.use(function (req, res, next) {
console.log('============[配置中间件]=============')
next()
})
// add basic api
server.use('/hello', function (req, res) {
console.log('create api by [/hello].')
res.send('test success.')
})
// 统一接口函数处理
server.handle(require('./api'))
server.start()