寫在前面:4天長假過去,距離上半年的下一個假期還有25天,距離畢業的日子也逐漸的近了,一種期待和一種緊迫。javascript
進入正題:java
是什麼?Koa是基於Node.js的下一代web框架,由Express團隊打造,特色:優雅、簡潔、靈活、體積小。幾乎全部功能都須要經過中間件實現。mysql
能夠作什麼?搭建輕巧的web應用,利用中間件實現功能web
1.如何使用koa搭建一個mvc的項目?sql
(1)使用項目生成器插件數據庫
npm install koa-generator -g //插件不屬於官方開發,可是功能上也很是贊
執行完畢後就會出現文件目錄結構,而後進行自行開發便可npm
啓動koa項目服務器
npm start
(2)不依賴生成器生成的項目目錄結構,自行進行項目目錄的構mvc
2.項目文件的具體分析app
(1)app.js 是整個項目啓動的關鍵,在此文件中建立koa服務器
引入須要的路由並關聯app
這樣項目啓動後便可以進行訪問路徑,其餘配置省略,
(2)路由的配置,對於一些頁面,只顯示,只須要render便可,部分頁面含有邏輯功能,須要調用咱們本身定義的控制器方法
(3)controller的邏輯代碼的編寫
(4)model中的實現方式
model是對數據庫的直接操做模式,首先要進行數據庫的鏈接,安裝mysql插件,數據庫的鏈接方式直接查看插件的內容就可
續集:數據庫鏈接的封裝方法
var mysql = require('mysql'); var pool = mysql.createPool({ connectionLimit : 10, host : '127.0.0.1', user : 'root', password : '123', database : 'test' }); //基礎配置 var db = {}; db.q = function (sql,params) {//封裝成能夠異步獲取方式 return new Promise((resolve,reject)=>{ // 取出連接 pool.getConnection(function(err, connection) { if (err) { reject(err); return; } connection.query(sql,params, function (error, results, fields) { console.log(`${sql}=>${params}`); // 釋放鏈接 connection.release(); if(error) { reject(err); return; } resolve(results); }); }); }); } module.exports=db;
3:項目運行時訪問順序 此處只包含路由模塊、控制器、數據模塊
從頁面訪問開始到數據返回的活動流程
一個簡單的koa項目就搭建好了,掌握好訪問的一個模式,理解項目具體的訪問方式就會很容易上手,對於項目的細節,還須要本身進行不斷的嘗試和探索