koa2笔记

作者: 处在水深火热的iOS_林龙 | 来源:发表于2018-09-20 15:08 被阅读0次

运行环境:Linux
工具:docker,node,npm

使用docker是为了解决微服务化且为了不影响到本地的其他环境。通过docker来编写demo是最直接最方便的方法。

docker 环境配置

获取node镜像
docker pull node
创建node容器
docker run -i -t --name koa2 -p 8000:8000 node /bin/bash
可以参考docker笔记

创建koa2项目

创建目录及打开
mkdir koa2 && cd koa2
npm创建及拉取koa库
npm init && npm install koa
创建入口文件
touch index.js

编辑koa2项目

vi index.js

var koa = require("koa")     //导入koa库
var app = new koa()           // 创建koa实例

app.use(async (ctx)=>{      
    let url = ctx.url;                                  //请求url
    let request = ctx.request;                          //请求头参数
    let req_query = ctx.query;                         //请求url参数
    let req_querystring = ctx.querystring;            //请求url参数字符串
     ctx.body = {                                     //请求响应
              url,
              request,
              req_query,
              req_querystring
      }
})
app.listen(8000,()=>{                                 //监听端口,成功回调
        console.log("this is hello koa")
});

运行项目
node index.js

post获取post方法中的参数

1.自己编写获取post 参数

var koa = require("koa")     //导入koa库
var app = new koa()           // 创建koa实例

app.use(async (ctx)=>{      
       if (ctx.method === "get"){
             ctx.body="this is get method"
      }else{
              let postData = await parsePostData(ctx)
             ctx.body=postData
      }
})

function parsePostData(ctx){
        return new Promise((res,rej)=>{
                try{
                        let postData="";
                        ctx.req.on("data",(data)=>{
                                postData += data;
                        });
                        ctx.req.addListener("end",()=>{
                                res(postData)
                        })
                }catch(err){
                        rej(err)
                }
        })
}
app.listen(8000,()=>{                                 //监听端口,成功回调
        console.log("this is hello koa")
});

2.框架
npm install koa-bodyparser

var koa = require("koa")     //导入koa库
var bodyparser =  require('koa-bodyparser')

var app = new koa()           // 创建koa实例
app.use(bodyparser())

app.use(async (ctx)=>{      
       if (ctx.method === "get"){
             ctx.body="this is get method"
      }else{
              let postData = ctx.request.body
             ctx.body=postData
      }
})
app.listen(8000,()=>{                                 //监听端口,成功回调
        console.log("this is hello koa")
});

router

npm install koa-router

var koa = require("koa")
var bodyparser =  require('koa-bodyparser')
var Router = require("koa-router")

var app = new koa()
var router = new Router()

router.get('/',(ctx,next)=>{
        ctx.body = "this is /"
})

router.get("/sleep",(ctx,next)=>{
        ctx.body = "this is /sleep"
})


app.use(bodyparser())
app.use(router.routes())
   .use(router.allowedMethods());
app.listen(8000,()=>{
        console.log("koa2 start")
})

cookies

var koa = require("koa")
var bodyparser =  require('koa-bodyparser')
var Router = require("koa-router")

var app = new koa()
var router = new Router()

router.get('/',(ctx,next)=>{
        ctx.cookies.set("xxxx","zzzzz")
        ctx.body = "setCookies"
})

router.get("/getCookies",(ctx,next)=>{
        ctx.body = ctx.cookies.get("xxxx")
})


app.use(bodyparser())
app.use(router.routes())
   .use(router.allowedMethods());
app.listen(8000,()=>{
        console.log("koa2 start")
})

相关文章

  • koa2学习

    搭建博客 koa2笔记阮一峰koa2 多项目目录结构

  • nodejs 学习笔记(1)koa2 koa-generator

    koa2是nondejs的开发框架,最近学习nodejs,这里记记笔记 首先安装好nodejs 安装koa2,全局...

  • Koa自学笔记

    Koa2自学笔记 对应的代码示例:https://codesandbox.io/s/reverent-worker...

  • koa2入门系列

    koa2入门系列(一) koa2入门系列(二) koa2入门系列(三) koa2入门系列(四) koa2入门系列(...

  • 关于koa2的基础知识

    1、koa2 路由配置 2、koa2 中的 get 传值以及获取 get 传值 在 koa2 中,GET 传值通过...

  • Koa2框架学习笔记

    koa2框架笔记 Node.js是一一个异步的世界,官方API支持的都是callback 形式的异步编程模型,这会...

  • koa2框架笔记

    koa2框架笔记 Node.js是一一个异步的世界,官方API支持的都是callback 形式的异步编程模型,这会...

  • 从零开始构建一个Koa2+MySQL项目

    一、初始化Koa2框架 1.运用脚手架初始化Koa2框架 2.使用koa-generator生成koa2项目 3....

  • 2018-12-05爬虫

    koa2 爬虫cheerio

  • koa2入门笔记

    环境准备:安装node.js,建议版本号>=7.6,否则需额外安装插件。 直接安装 node.js :node.j...

网友评论

    本文标题:koa2笔记

    本文链接:https://www.haomeiwen.com/subject/wfqnnftx.html