美文网首页Koa
Koa(二、post传值,art-template模板,静态资源

Koa(二、post传值,art-template模板,静态资源

作者: 强某某 | 来源:发表于2018-06-12 18:01 被阅读55次

post数据

  • 原生node.js实现post请求数据获取
common.js:
//获取post请求提交的数据
function getPostInfo(ctx){
    //获取数据,异步
    return new Promise((resolve,reject)=>{
        let postInfo='';
        try {
            ctx.req.on("data",shunk=>{
                postInfo+=shunk;
            })
            ctx.req.on("end",()=>{
                resolve(postInfo);
            })
        } catch (error) {
            reject(error)
        }
    })
}
module.exports={getPostInfo}

index.js:
引入=》
common=requie('./module/common.js')
querystring = requir('querystring')

解析和调用:
let info= await common.getPostInfo(ctx);
let obj=querystring.parse(info);
console.log(info);//username=asfa&password=assafa
console.log(obj)//{ username: 'asa', password: 'asca' }

bodyParse解析

  • cnpm i koa-bodyparser --save
  • bodyParser=require('koa-bodyparser')
  • app.use(bodyParser()):注意内部是方法
router.post('/doAdd',async(ctx)=>{
    ctx.body=ctx.request.body;
    //{"username":"asda","password":"asfa"}
})
说明:koa-bodyparser是ctx.request而不是原生的ctx.req

koa-static静态资源中间件

  • cnpm i koa-static --save
  • static=require('koa-static')
  • app.use(static('static'));
  • 静态资源中间件可以配置多个,静态资源时候会依次查找每个中间的路径
例如:引入css
<link rel="stylesheet" href="css/a.css">
此时的路径和index.ejs路径没关系,直接会去static目录下查找。

art-template模板

说明:art-template如果和koa搭配使用需要安装 koa-art-template

  • cnpm i art-template
  • cnpm i koa-art-template

连接地址:https://www.npmjs.com/package/koa-art-template

相关文章

网友评论

    本文标题:Koa(二、post传值,art-template模板,静态资源

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