koa框架 web前端開發框架,它是一款基於es6語法的網頁端開發框架。它相似於express框架,能夠快速開發服務,方便快捷。css
api手冊
http://koa.bootcss.com/前端
首先,建立package.json 使用版本爲1.xnode
npm init #依賴 "dependencies": { "koa": "^1.1.2", "koa-bodyparser": "^2.0.1", "koa-hbs": "^0.7.0", "koa-json": "^1.1.1", "koa-logger": "^1.3.0", "koa-onerror": "^1.2.1", "koa-router": "^5.3.0", "koa-static": "^1.5.2", "koa-views": "^3.1.0", }
其次,建立app.jsmysql
var koa = require('koa'); var app = koa(); // logger 中間件 app.use(function *(next){ var start = new Date; yield next; var ms = new Date - start; console.log('%s %s - %s', this.method, this.url, ms); }); // router 路由 app.use(function *(){ this.body = 'Hello World'; }); // port 端口 app.listen(3000);
啓動完成!es6
Context(上下文)web
將request 和 response 對象封裝在了一個單獨的對象裏面,context = ctx = thissql
經常使用到的屬性和方法 ctx.response 、ctx.request 、 ctx.type 、ctx.length 、ctx.method 、ctx.app 、ctx.cookies、ctx.originalUrl 、ctx.path 、ctx.query 、ctx.querystring express
Request(請求對象)npm
對node的request對象的進一步封裝,提供了開發中一些有用的功能json
經常使用到的屬性和方法 req.header 、req.url、req.query、req.get(field)
Response(響應對象)
對node的response對象的進一步封裝,提供了開發中一些有用的功能
經常使用到的屬性和方法 res.header、res.status、res.length、res.body 、res.redirect(url)
連接mysql
var mysql = require('mysql2'); var options = { 'host': config.db_host, 'port': config.db_port, 'database': config.db_name, 'user': config.db_user, 'password': config.db_passwd, 'charset': config.db_charset, 'connectionLimit': config.db_conn_limit, 'supportBigNumbers': true, 'bigNumberStrings': true } var pool = mysql.createPool(options); pool.getConnection(function(err, connection) { ...... }
log4js 日誌
var log4js = require("log4js"); var logconfig = { appenders: { out: { type: 'console' }, errorLogger: { type: "dateFile", filename: errorLogPath, pattern: "-yyyy-MM-dd-hh.log", alwaysIncludePattern: true }, resLogger: { type: "dateFile", filename: accessLogPath, pattern: "-yyyy-MM-dd-hh.log", alwaysIncludePattern: true } }, categories: { default: { appenders: ['resLogger'], level: 'info' }, errorLogger: { appenders: ["out", "errorLogger"], level: "error" }, resLogger: { appenders: ["out", "resLogger"], level: "info" } } }; log4js.configure(logconfig); var errorLogger = log4js.getLogger("errorLogger");
hbs模板
var hbs = require('koa-hbs'); {{#each rows}} <li> <div class="st-img"> <a href="/detail/{{this.uuid}}"> <img src="{{formateLink this.image}}" alt="" /> </a> </div> </li> {{/each}}
整理完畢!