最近由於在用egg.js,所以十分羨慕它裡面物件導向的邏輯,自己參照著簡單封裝了乙個物件導向的koa2-node的 寫法
封裝思想,將一些基礎的方法(list, insert, update, delete)封裝至乙個父類(基類),子類繼承它便可以獲得對應的方法
const model = require('../model') // 獲取基本路由
// 模組匯出
}
module.exports =
// 使用koa-router middleware
const router = require('koa-router')()
// 獲取對應的service層
const services =
// 配置所有的routes檔案
const routes = (config => `) // 獲取對應個單個檔案 admin.js etc..
const newarr = object.keys(obj).reduce((total, each) =>
let item = /$`, method: obj[each].method, action: each, service: name }
total.push(item)
return total
}, )
copy = copy.concat(newarr)
return copy
}, )
})(object.keys(services))
// 配置最終的路由,形式為
// router.get(url, service.action)
routes.foreach(item => = item
const service = services[servicename]
router[method](path, service[action])
})module.exports = router
service層
對請求引數的操作層對返回資料的加工層
controller層
對資料庫的操作層helper類
enum列舉
lib/mysql.js
const mysql = require('mysql');
const config = require('../config/default.js')
// 連線池
const pool = mysql.createpool();
/**
* * @param sql 接收的sql語句
* @param values sql語句引數
* @return
*/const query = function( sql, values ) )
} else )
} else )
}connection.release()})}
})})
}module.exports=
config
src/index.jsconfig/default.js
const config = }
module.exports = config
到這裡專案就可以完整跑起來了,var koa=require('koa');
var path=require('path')
var bodyparser = require('koa-bodyparser');
var session = require('koa-session-minimal');
var mysqlstore = require('koa-mysql-session');
var config = require('./config/default.js');
var koastatic = require('koa-static')
const routers = require('./routes/index')
// session儲存配置
const sessionmysqlconfig=
// 配置session中介軟體
key: 'user_sid',
store: new mysqlstore(sessionmysqlconfig)
}))// 配置跨域
});// 配置靜態資源載入中介軟體
path.join(__dirname , './public')
))// 使用表單解析中介軟體
// 使用新建的路由檔案
// 監聽在1200
console.log(`listening on port $`)
最後奉上專案位址
喜歡就star一下吧~
函式式程式設計vs物件導向程式設計
什麼是物件導向,其實我也不是很懂,我以前一直認為物件導向就是繼承,而繼承就是虛函式,有時候在思考,真的是這樣子的嗎?錯了,不管虛函式的機制是為了繼承和多型而服務,而繼承和多型確實為了oo的思想而服務,怎麼說呢?我們都知道,當我們都知道學生a,b,c,d 都是學生,並且他們有一些共同的屬性,比如年齡,...
函式式程式設計 vs 物件導向程式設計
身為乙個程式設計師,我個人很喜歡早洗澡的時候去思考一些技術上的東西,今天有人問我什麼是物件導向,其實我也不是很懂,我以前一直認為物件導向就是繼承,而繼承就是虛函式,但是我洗澡的時候在思考,真的是這樣子的嗎?錯了,不管虛函式的機制是為了繼承和多型而服務,而繼承和多型確實為了oo的思想而服務,怎麼說呢?...
物件導向程式設計 繼承 類式繼承
定義 讓子類的原型指向父類的例項 1,宣告父類 function superclass superclass.prototype.getsupervalue function 2,宣告子類 function subclass 3,繼承父類 關鍵 subclass.prototype new supe...