breeze的基础能力演示,可以通过修改index.js中配置来完成redis、mongodb来完成测试,如果不需要,可将中间件配置代码注释掉。
由于时间原因,无法提供更加详细的说明文档,有兴趣的朋友可以先从example和code里看看,或者直接联系。另外有兴趣完善文档的朋友可以直接联系我。 该开发框架将用于我们最新的项目三尺社区中。该框架中所有服务均以中间件的形式实现,可通过轻量配置获取相应的功能。中间件包含web中间件、redis中间件、mongodb中间件、seneca中间件。
web中间件,主要提供了web的服务能力,以插件的形式增加了web服务能力,如自动加载controller,增加了action级的权限、缓存、参数校验的功能等,这些都可以通过配置增减。
redis中间件,支持多数据源的配置,通过将redis driver中的所有方法进行了Promise处理。
mongodb中间件,基于mongoose实现,大部分特性遵循mongoose的规范,同时增加了一些功能,方便更快的使用mongodb。
微服务中间件,基于seneca实现了service能力。最简单的配置完成多服务间的网络调用,目前未实现对注册中心的支持,同时类似熔断、链路日志等微服务的必要特性在日后再完成。
未完,待续.....
使用加载最新的框架代码
npm install springbreeze
npm install breeze-web
其他可选中间件
npm install breeze-redis
npm install breeze-mongo
npm install breeze-seneca
然后编辑 index.js
const { Breeze , DefaultConfig } = require("springbreeze") , //引用springbreeze
//引用Web服务中间件及相应的插件
{ Web , ErrorHandler , PackageHandler , AuthHandler } = require("breeze-web")
DefaultConfig.middlewares.push({
name : "web" , //配置中间件名称
require : Web , //配置引用中间件
desc : "web服务" , //说明
port : 9001 , //设置web服务端口
actionPath : __dirname + "/action" , //设置action扫描路径,后面详细说明
handler : [ //配置插件,可参考插件开发,来扩展插件
{ name : "错误统一处理插件" , entity : ErrorHandler } ,
// { name : "权限验证处理插件" , entity : AuthHandler } ,
{ name : "请求统一处理插件" , entity : PackageHandler } ,
]
})
//创建breeze服务
const breeze = new Breeze( DefaultConfig )
//启动服务
breeze.start()
创建 action 目录,参考actionPath配置项
mkdir action
在目录下创建IndexAction.js
const { BaseAction , RequestParser } = require("breeze-web")
const IndexAction = new BaseAction("test")
const ParamOption = RequestParser.ParamOption
IndexAction.get({
path : "/ok" ,
params : [
ParamOption.Pag() ,
ParamOption.String("key" , "手机号/身份证" , 11 , 20 )
] ,
} , async ctx => {
const { pag , ps } = ctx.request
console.log( pag )
console.log( ps )
ctx.body = "run ok."
})
module.exports = IndexAction
然后启动服务测试
node index.js
浏览器输入 http://127.0.0.1:9001/test/ok 测试
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。