索鸟网

  1. 首页
  2. koa1.x 项目归档

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 >
            <a href="/detail/{{this.uuid}}">
                <img src="{{formateLink this.image}}" alt="" />
            </a>
        </div>
    </li>
{{/each}}

附录

项目地址 https://github.com/lichuang44...

整理完毕!

node.js javascript

来源地址:https://segmentfault.com/a/1190000011528347 版权归作者所有!

相关教程

  • 压缩、解压缩、归档、展开归档、read键盘输入赋值

    压缩、解压缩 压缩格式:gz,bz2,xz,zip,z compress FILENAME.Z【这是中比较古来的压缩方式,现在不常用】,uncompress:解压.Z压缩文件 gzip .gz,使用方法:gzip /PATH/FILENAME,压缩后会删除原文件,它对应的gunzip是解压.gz文件的,解压后也会删除原文件,不能压缩目录,如果指定的是目录
  • http 技术归档

    概念 http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:http://host":"port ht
  • 部署LyncServer2013归档服务器

    关于存档服务器以及存档服务器数据库是否能和Lync其他角色部署到同一台服务器上,请参考这个帖子 http://zyliday.blog.51cto.com/760700/1707634 ,部署Lync Server 2013存档服务器大概分如下几部分,SQL Server数据库准备,更改LyncServer2013拓扑,发布LyncServer2013拓扑,配置LyncServe
  • 常见的压缩归档工具

    常用压缩工具原理:    因为1byte=8bit,一个字节等于8位二进制数,所以每个byte当中会有8个空格,而每个空格可以是0,1。如此以来我存储一个字符1,1会在最右边占据一个bit,而其它7个bit将会被自动被填上0。其实那7个bit应该是空的。为了满足我们操作系统对数据的访问,所以会将该数据转为byte的形态来记录。压缩即:利用一
  • Oracle 数据库归档满处理办法

    一、 问题影响如果数据库归档不设置归档删除策略或归档暴增导致归档空间满,数据库将无法提供服务,甚至无法关闭数据库。 因为关闭数据库会出发写日志,此时空间满了是不能写入日志进而导致数据库无法启动。 业务系统将无法使用。二、 归档存放方式, 有如下几种情况:1、 本地文件系统存放2、 本地文件系统且存放在快速闪回区内3、 ASM 存储中存放4、 ASM 存储中且放在快速闪回区内三、
  • rhel7文件的归档与压缩

    归档的好处方便使用、查询、阅读易于管理(批量操作文件)文件压缩的好处加快文件传输的速率节约硬盘的资源Linux文件中的文件归档与压缩1.1 tar命令的使用1.1.1 作用:打包、压缩文件[root@duwen113 ~]# tar --help 用法: tar [选项...] [FILE]...  GNU&n
  • Linux基础之压缩与归档工具

    压缩出现的原因简析    压缩为什么会诞生?我们可以想象一下如果没有压缩的场景:磁盘不够用了,再买一块扩展;一个游戏10G,下载下来得一整天,我们要上传一个1G电影得1天...买一块硬盘好贵啊,上传下载好耗费时间啊。如果我们可以将游戏压缩到原来的80%,我们就可以节省下来20%的磁盘空间,同时也节省了下载及上传的时耗。所以压缩诞生的目的首先是解决磁盘空间问题,
  • 利用NSKeyedUnarchiver对象归档方式保存数据

    // //  ZSXCUserManager.h //  zsxc // //  Created by hyjt on 2017/8/1. //  Copyright © 2017年 haoyungroup. All rights reserved. // #import <Fou