const Koa = require('koa');
const app = new Koa();
app.use(async (ctx) => {
ctx.request.XX
})
app.listen(3000);
ctx.request Koa2封装的请求对象
ctx.method 请求方法
ctx.request.url/query/body 请求url/get参数/ post参数(post需要引用bodyparser中间件解析)
二 fs中间件读取文件
const fs = require('fs');
fs.readFile(url,'binary',(err,data) => { //url:路径 第二个参数是读取方式binary(二进制)
})
三 路由中间件使用
const Router = require('koa-router');
const router = new Router;
router
.get('/',(ctx,next) => {
})
.get('/list',(ctx,next) => {
})
app
.use(router.routes()) //进行路由挂载
.use(router.allowedMethods()) //进行路由方法拦截
解决跨域:
const Koa = require('koa')
const Router = require('koa-router')
const app = new Koa()
const router = new Router()
const cors = require('koa2-cors');
// 先注释了,后面再解释
// const bodyParser = require('koa-bodyparser')
// app.use(bodyParser())
app.use(cors({
origin: function (ctx) {
return 'http://localhost:8000';
},
exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
maxAge: 5,
credentials: true,
allowMethods: ['GET', 'POST', 'DELETE'],
allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
}))
router
.get('/list', ctx => {
ctx.body = {
data: {
value: 1
}
}
})
app
.use(router.routes())
.use(router.allowedMethods())
app.listen(3000)