关于nest配置跨域app.enableCors()无效的问题

nestjs设置跨域app.enableCors()无效的问题

在学习构建全栈项目过程中,配置好后台接口localhost:3000以及相应的localhost:3000/tags访问标签页接口成功之后,前端项目运行在localhost:8080下访问这个api遇到跨域问题;

首先是postman访问这个api的有效截图;

postman访问成功截图

说明本地localhost:3000/tags这个api可以访问,那么前端的请求跨域了,配置好node的跨域就可以了;
在这里插入图片描述

跨域这个问题有很多种解决方案,前端解决也可以后端解决也可以,这里采用nest的app后端解决跨域的问题,没想到遇到了一个坑;

采用app.enableCors()配置,以为可以解决,没想到问题还是出现

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嗨,C知道!关于"nest socket 跨域"的问题,我可以为你提供一些帮助。 在Nest框架中使用Socket.IO时,由于跨域安全策略的限制,可能会遇到跨域问题。为了解决跨域问题,你可以按照以下步骤进行操作: 1. 安装 `@nestjs/platform-socket.io` 和 `socket.io-client` 依赖: ```shell npm install --save @nestjs/platform-socket.io socket.io-client ``` 2. 配置Nest应用程序以支持Socket.IO。在你的应用程序模块中,导入 `IoAdapter` 并使用 `create` 方法创建一个自定义的适配器。 ```typescript import { IoAdapter } from '@nestjs/platform-socket.io'; import { ServerOptions } from 'socket.io'; export class SocketIoAdapter extends IoAdapter { createIOServer(port: number, options?: ServerOptions): any { const server = super.createIOServer(port, options); // 允许跨域请求 server.origins('*:*'); return server; } } ``` 3. 使用自定义适配器替换默认的适配器。在主文件中(例如`main.ts`),将自定义适配器应用到Nest应用程序中。 ```typescript import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { SocketIoAdapter } from './socket-io.adapter'; async function bootstrap() { const app = await NestFactory.create(AppModule); app.useWebSocketAdapter(new SocketIoAdapter(app)); await app.listen(3000); } bootstrap(); ``` 通过这些步骤,你应该能够解决Nest框架中使用Socket.IO时的跨域问题。希望这些信息能对你有所帮助!如果你有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值