koa2 设置允许跨域需要用到 koa2-cors 插件
npm 地址 https://www.npmjs.com/package/koa2-cors
server.js 中这样写
const Koa = require('koa');
const Router = require('koa-router');
const cors = require('koa2-cors');
let server = new Koa()
server.listen(3001)
// 解决跨域
server.use(cors({
origin: function (ctx) {
return '*' // 允许来自所有域名请求
// return 'http://localhost:8080'; / 这样就能只允许 http://localhost:8080 这个域名的请求了
},
exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
maxAge: 5,
credentials: true,
allowMethods: ['GET', 'POST', 'DELETE', 'OPTIONS', 'PUT'],
allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
}))
let router = new Router();
router.get('/test', async ctx => {
ctx.body = {
code: 200,
data: '测试的啊',
msg: ''
}
})
前端 代码
this.$axios.get('http://172.16.186.50:3001/')
.then((response) => {
console.log(response)
})
.catch(function (error) {
console.log(error);
});
也没有跨域报错信息了