zoukankan      html  css  js  c++  java
  • 基于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

  • 相关阅读:
    Python之socket
    Python之创建low版的线程池
    Python之面向对象及相关
    Python之面向对象(进阶篇)
    Python之面向对象(初级篇)
    Python之线程与进程
    python中执行父类的构造方法
    python之反射
    记一次有趣的米筐经历~
    算法第四章作业
  • 原文地址:https://www.cnblogs.com/sqzhuyi/p/node-eagle.html
Copyright © 2011-2022 走看看