weroll是一个能够帮助开发者极速搭建基于微服务架构的Node.js应用程序,用最小的代码实现常见的web业务的框架。weroll基于MongoDB,Redis,Express 4.x以及APIServer(基于原生http库开发的极简化API服务库),经过数个商业项目凝练而来。
项目主页:http://weroll.magicfish.cn/
weroll有以下主要特性:
- 合理的项目文件结构,区分路由逻辑和API逻辑
- 路由和API可定义访问权限
- API定义支持常用的数据校验(如字符,数字,手机号等),支持必须参数和可选参数设定
- 提供API调试工具,自动显示API描述和参数说明
- 支持多环境配置, 可根据启动参数切换运行环境, 如dev, test, production等, 不同的环境使用不同的配置文件,由开发者自由定义
- 使用Mongoose操作数据库,简化了Schema定义流程,简化了Model使用方式
- 封装了socket.io可以实现基本的websocket实时数据交互
- 集成一些常见的web服务功能,如用户权限维护,邮件发送,短信发送/验证码检查等
- 面向微服务架构,多个weroll应用之间可以配置成为一个生态系统,相互之间可以调用API和推送消息
weroll并不是严格意义上的框架,而是一套web应用开发的工具集。对于weroll来说,数据库连接操作,页面程序和API定义都是可选的,我们可以根据实际需求选择性的使用weroll的功能。
下面我们用2分钟时间来体验一下weroll。
Step 1: npm或cnpm全局安装weroll-cli,weroll-cli 是一个帮助你快速生成weroll模板项目的命令行工具。
$ npm install -g weroll-cli
Step 2:使用weroll命令创建一个极简的weroll项目(在命令行当前目录下,创建DemoApp目录)
$ weroll init mini DemoApp
如果你需要使用cnpm,请在命令后面加上 --cnpm 参数
$ weroll init mini DemoApp --cnpm
Step 3:等待项目创建完成,进入项目目录,启动项目
$ cd DemoApp
$ node main.js -debug
现在你可以使用浏览器打开 http://localhost:3000/看到应用程序的主页。
Let’s roll!