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', };
设置完成后,重启服务,就可以在浏览器中进行预览了,如果能正常访问,说明跨域访问已经设置成功了。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » P16:解决egg.js的跨域问题
码云笔记 » P16:解决egg.js的跨域问题