egg.js解决跨域
时间: 2024-12-26 07:15:51 浏览: 4
### 如何在 Egg.js 中配置 CORS 解决跨域请求问题
#### 安装 `egg-cors` 插件
为了使 Egg.js 应用能够处理跨域资源共享 (CORS),推荐使用 `egg-cors` 插件。安装该插件可以通过 npm 来完成。
```bash
npm install egg-cors --save
```
#### 启用并配置 `cors` 插件
启用插件需修改项目的 `config/plugin.js` 文件,在其中加入如下代码片段:
```javascript
// config/plugin.js
module.exports = {
cors: {
enable: true,
package: 'egg-cors',
},
};
```
此操作会激活 `egg-cors` 功能,从而让应用支持 CORS 请求[^3]。
#### 设置具体的 CORS 参数
进一步定制化 CORS 行为,则需要编辑 `config/config.default.js` 文件中的 `config.cors` 属性。下面是一个典型的配置实例:
```javascript
// config/config.default.js
export default {
// other configurations...
cors: {
origin: '*',
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',
}
}
```
这里设置了两个主要参数:
- `origin`: 控制哪些源可以发起跨站请求。星号 (`*`) 表示接受来自任何域名的请求;也可以指定特定 URL 地址作为合法来源。
- `allowMethods`: 列举允许使用的 HTTP 方法列表,确保涵盖了应用程序所需的所有方法类型[^5]。
通过上述步骤即可成功实现在 Egg.js 上部署 CORS 支持的功能,有效解决了前后端分离架构下的跨域难题[^1]。
阅读全文