1、安装koa2-cors

npm install koa2-cors

2、中间件使用

const Koa = require('koa');
const bodyParser = require('koa-bodyparser'); //post数据处理
const routers = require('./routers')

const cors = require('koa2-cors'); //跨域处理
const app = new Koa();

// api 接口的跨域处理
app.use(
  cors({
    origin: function(ctx) { //设置允许来自指定域名请求
      const path = ctx.url.split('/')[1]
      if (path === 'api') {
          return '*'; // 允许来自所有域名请求
      }
      //只允许 return http://localhost:8080 这个域名的请求
    },
    maxAge: 5, //指定本次预检请求的有效期,单位为秒。
    credentials: true, //是否允许发送Cookie
    allowMethods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], //设置所允许的HTTP请求方法
    allowHeaders: ['Content-Type', 'Authorization', 'Accept'], //设置服务器支持的所有头信息字段
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'] //设置获取其他自定义字段
  })
)

// body解析中间件
app.use(bodyParser())
// 加在路由列表
app.use(routers.routes())

app.listen(3000);
最后修改日期: 2020年5月9日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。