learning koa1.x

发布时间:2019-08-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了learning koa1.x脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

定义

koa框架 web前端开发框架,它是一款基于es6语法的网页端开发框架。它类似于exPress框架,可以快速开发服务,方便快捷。

api手册
http://koa.bootcss.com/

开发实战篇

首先,创建package.JSON 使用版本为1.x

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.js

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);

启动完成!

知识点

Context(上下文)

将request 和 response 对象封装在了一个单独的对象里面,context = ctx = this

常用到的属性和方法 ctx.response 、ctx.request 、 ctx.type 、ctx.length 、ctx.method 、ctx.app 、ctx.cookies、ctx.originalUrl 、ctx.path 、ctx.query 、ctx.querystring

Request(请求对象)

node的request对象的进一步封装,提供了开发中一些有用的功能

常用到的属性和方法 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}}

附录

整理完毕!

脚本宝典总结

以上是脚本宝典为你收集整理的learning koa1.x全部内容,希望文章能够帮你解决learning koa1.x所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。