基于Node的高性能MVC框架

赶上公司去Windows化,有一大波.net站点需要转成Node.js,于是自己就顺便琢磨一个通用的Node版MVC框架。

经过几天的努力,beta版终于面世了!因为其高性能的特点,特地命名node-eagle

github地址:https://github.com/sqzhuyi/node-eagle

安装:

npm install node-eagle

 

依赖:

  • Node8 (https://nodejs.org/en/)
  • Koa2 (https://www.npmjs.com/package/koa)
  • Mustache (https://www.npmjs.com/package/mustache)

特点:

  • 高性能:不借助任何缓存,i5单核CPU可达到5400的QPS
  • route默认走controller:name+action:name,可自定义
  • 支持自动render和手动render:调用 this.render(viewName) 参数可选
  • 指定status后(非100),不再执行后续代码
  • controller/action/view 不区分大小写
  • 通过 this.get(key) 获取header/path/query/post参数,不区分大小写
  • 内容渲染采用Mustache模板引擎
  • 页面嵌套、引用手动实现,支持常用语法:extends/include/block,如下:
<body>
    {% include "./_header.html" %}
    {% block body %}
    <div>default content</div>
    {% endblock %}
    {% include "./_footer.html" %}
</body>
{% extends "../shared/_layout.html" %}
{% block body %}
<div class="body">
    {{{ content }}}
</div>
{% endblock %}

 

使用:

1、在Node启动文件中加入以下代码:

 1 const Koa = require("koa");
 2 const app = new Koa();
 3 const eagle = require("node-eagle");
 4 const config = require("./config");
 5 
 6 eagle(app, config);
 7 
 8 app.listen(config.port, config.host, function(){
 9     console.log(`app start at ${config.host}:${config.port}`);
10 });

 

2、按照MVC规则创建站点文件,如下:

website
├ controllers
│  └ home.js
├ views
│  └ home
│     └ index.html
├ config.js
└ route.js

 

3、最重要的是,一定要看这个Demo: https://github.com/sqzhuyi/node-eagle-demo

 

posted on 2017-12-11 16:41 路人.乙 阅读(...) 评论(...) 编辑 收藏

导航

公告

统计