egg 跨域解决

环境:egg框架下

1. 安装egg-cors(npm亦可)

yarn add egg-cors

 

2、app/config/plugin.js

cors: {
    enable: true,
    package: 'egg-cors',
},

 

 

 

3、app/config/config.default.js  

config.cors = {
    origin: 'http://30.40.42.14:3000', // 或者 origin: '*'  *代表所有来源都可访问
    allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS', //允许的请求方式  get、post等基本请求方式不需要设置
};

 

 

 

题外:

遇到安全威胁csrf报错

app/config/config.default.js 内设置下不防范

config.security = {
    csrf: { enable: false },
};

 

跨域题外:

若是用到了koa或 express框架 

不需要另外安装插件

直接设置即可

app.use(async (ctx, next)=> {
  ctx.set('Access-Control-Allow-Origin', '*');
  ctx.set('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
  ctx.set('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
  if (ctx.method == 'OPTIONS') {
    ctx.body = 200; 
  } else {
    await next();
  }
});

插件 koa2-cors 也可

官方文档:https://www.npmjs.com/package/koa2-cors

 

posted @ 2020-12-08 11:44  水晴  阅读(362)  评论(0)    收藏  举报