# breeze-example **Repository Path**: five77/breeze-example ## Basic Information - **Project Name**: breeze-example - **Description**: breeze的基本用法 - **Primary Language**: NodeJS - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-02-08 - **Last Updated**: 2022-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # breeze-example #### 介绍 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能力。最简单的配置完成多服务间的网络调用,目前未实现对注册中心的支持,同时类似熔断、链路日志等微服务的必要特性在日后再完成。 未完,待续..... #### 快速开始WEB服务,其他看代码 使用加载最新的框架代码 ``` 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 测试