前端和后端服务的端口不同,为什么没见有跨域问题?

来源:7-9 配置 ESLint 并使用 Apollo 创建 GraphQL Service(下)

Jack N

2023-04-05

老师你好,前端和后端服务的端口不同,为什么没见有跨域问题呢?
依据:
前端的服务地址为:http://127.0.0.1:5173/
后端服务的地址为:http://127.0.0.1:3000/
参考链接:
https://graphql.org/learn/best-practices/#http

写回答

2回答

黑石

2023-04-05

这个问题有几个同学也在问,我统一回答一下:

nestjs 里如果没有设置的话,默认是允许跨域的,如果想开启跨域限制,可以在 main.ts 里这么写:

https://img.mukewang.com/szimg/642d343109ccb94a09670379.jpg

重点是这段代码:app.enableCors(),是他开启了跨域。如果不传参数,默认是允许来自所有域名、所有 HTTP 方法、所有请求头的跨域请求。

如果想允许部分地址可以跨域,需要这么写:

也可以配置的允许跨域的域名:  

app.enableCors({

    origin: 'http://localhost:5173',

  });

同学你看的很细啊,加油!!

4
3
黑石
回复
慕粉3946981
可以加入qq群就可以第一时间获得课程更新信息了
2023-04-05
共3条回复

慕设计7108006

2024-04-23

我也是注意到了这个问题,由于没有设置跨域导致demo返回不了数据,查看网络才发现是请求被拒绝了
0
0

React18+TS+NestJS+GraphQL 全栈开发在线教育平台

平台级应用+流行全栈技术+实用职场技巧&面试策略 助你升职加薪

439 学习 · 242 问题

查看课程