{"repo":"xiongwilee/Gracejs","free":true,"listed":false,"github":"https://github.com/xiongwilee/Gracejs","clone":"git clone https://github.com/xiongwilee/Gracejs.git","description":"A Nodejs BFF framework, build with koa2（基于koa2的标准前后端分离框架）","language":"JavaScript","stars":1388,"topics":["koa","nodejs","mvc","proxy","sfb","framework","grace","gracejs","koa-grace"],"license":"MIT","category":"networking-infra","readme_excerpt":"-------------------------------------------------------------------------------- Gracejs Gracejs(又称:koa-grace v2) 是全新的基于koa v2.x的MVC+RESTful架构的前后端分离框架。 koa-grace v1.x版本请移步： https://github.com/xiongwilee/Gracejs/tree/v1.0.4 一、简介 Gracejs是koa-grace的升级版，也可以叫koa-grace v2。 主要特性包括： 1. 支持MVC架构，可以更便捷地生成服务端路由； 2. 标准的RESTful架构，支持后端接口异步并发，页面性能更优； 3. 一套Node环境经服务服务多个站点应用，部署更简单； 4. 优雅的MOCK功能，开发环境模拟数据更流畅； 5. 完美支持async/await及generator语法，随心所欲； 6. 更灵活的前端构建选型，想用什么就用什么，随你所愿。 相比于koa-grace v1（以下简称：koa-grace）： Gracejs完美支持koa v2 ，同时做了优化虚拟host匹配和路由匹配的性能、还完善了部分测试用例等诸多升级。当然，如果你正在使用koa-grace也不用担心，我们会把Gracejs中除了支持koa2的性能和功能特性移植到koa-grace的相应中间件中。 这里不再介绍“前后端分离”、“RESTful”、“MVC”等概念，有兴趣可参考前端团队基于koajs的前后端分离实践一文。 Gracejs及前后端分离问题交流群： 微信交流群 ： 添加微信 xiongwilee 后(备注：城市-职业-姓名)拉你到“Gracejs及前后端分离交流”微信群 QQ交流群 ：368463457 （此群将弃用，可联系添加微信 xiongwilee 拉到微信群） 二、快速开始 注意：请确保你的运行环境中Nodejs的版本至少是 v7.6.0 （或者你也可以考虑支持 Nodejs v4.x+ 的koa-grace v1.x） 安装 执行命令： 运行 然后，执行命令： 然后访问：http://127.0.0.1:3000 就可以看到示例了！ 三、案例说明 这里参考 https://github.com/xiongwilee/Gracejs 中 app/demo 目录下的示例，详解Gracejs的MVC+RESTful架构的实现。 此前也有文章简单介绍过Gracejs的实现（ https://github.com/xiongwilee/Gracejs/wiki ），但考虑到Gracejs的差异性，这里再从 目录结构 、 MVC模型实现 、 proxy机制 这三个关键点做一些比较详细的说明。 目录结构 Gracejs与koa-grace v1.x版本的目录结构完全一致： 其中： controller 用以存放路由及控制器文件 static 用以存放静态文件 views 用以存放模板文件 注意， 这个目录结构是生产环境代码的标准目录结构。在开发环境里你可以任意调整你的目录结构，只要保证编译之后的产出文件以这个路径输出即可 。 如果你对这一点仍有疑问，可以参考: 前端构建-Boilerplate MVC模型实现 为了满足更多的使用场景，在Gracejs中加入了简单的Mongo数据库的功能。 但准确的说，前后端的分离的Nodejs框架都是VC架构，并没有Model层。因为 前后端分离框架不应该有任何数据库、SESS","default_branch":null,"files":null,"tree":[],"storefront":"/r/xiongwilee","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/xiongwilee/Gracejs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}