P16:解决egg.js的跨域问题

目录
文章目录隐藏
  1. 安装 egg-cors
  2. 配置config/plugin.js文件
  3. 配置config.default.js

在上一篇笔记中项目最后预览时,我们遇到了跨域问题。这个是每个前后端分离的程序都会遇到的一个问题。本文就带大家解决这个跨域问题。

安装 egg-cors

egg-cors模块是专门用来解决egg.js跨域问题的,只要简单的配置就可以完成跨域的设置,但是跨域一定要谨慎设置,很多安全问题,都是通过跨域进行攻击的。

安装我们使用npm进行安装,命令如下:

npm install --save egg-cors

当然你也可以用yarn来安装

yarn add egg-cors

配置config/plugin.js文件

在安装完成后需要对/service/config/plugin.js文件进行修改,加入egg-cors模块即可。

exports.cors = {
  enable: true,
  package: 'egg-cors',
};

配置config.default.js

在配置完成plugin.js文件以后,还需要设置config.default.js文件。这个文件主要设置的是允许什么域名和请求方法可以进行跨域访问。配置代码如下。

config.security = {
  csrf: {
    enable: false,
  },
  domainWhiteList: [ '*' ],
};
config.cors = {
  origin: '*', // 允许所有域进行访问接口
  allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',
};

当然,如果你只想让http://localhost:3000来进行接口方案,就可以设置成下面的代码。

config.cors = {
  origin: 'http://localhost:3000', // 只允许这个域进行访问接口
  credentials: true, // 开启认证
  allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',
};

设置完成后,重启服务,就可以在浏览器中进行预览了,如果能正常访问,说明跨域访问已经设置成功了。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » P16:解决egg.js的跨域问题

发表回复