趕上公司去Windows化,有一大波.net站點需要轉成Node.js,於是自己就順便琢磨一個通用的Node版MVC框架。經過幾天的努力,beta版終於面世了!因為其高性能的特點,特地命名node-eagle ...
趕上公司去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