P16:解决egg.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',
};

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

1. 本站所有免费资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的免费资源的准确性、安全性和完整性,免费资源仅供下载学习之用!如有链接无法下载、失效,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或技术教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5. 加入前端开发QQ群:565733884,我们大家一起来交流技术!
码云笔记 » P16:解决egg.js的跨域问题

发表评论

提供最优质的资源集合

立即查看 了解详情