关于react打包与koa设置session问题

在处理权限验证时遇到Koa中session获取不到的问题,原因是未正确配置credentials选项。解决方法包括设置credentials为'include'以发送包含凭据的请求,同时确保服务器端也允许相应跨域。此外,打包后的React应用出现样式未加载,通过修改webpack配置,添加less loader解决了此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天写到权限验证的问题, 第一次写koa, 关于session的问题, 在登录时已经设置过session了, 然后在其他controller里面读取session的时候一直为空, 原因是请求时设置如下:

默认情况下,fetch 不会从服务端发送或接收任何 cookies, 如果站点依赖于用户 session,则会导致未经认证的请求(要发送 cookies,必须设置 credentials 选项)

credentials可选值: 

include, same-origin, *omit

1.  include: 让浏览器发送包含凭据的请求(即使是跨域源)

2. same-origin: 在请求URL与调用脚本位于同一起源处时发送凭据

3. *omit: 浏览器不在请求中包含凭据

config目录下的env.js文件设置跨域域名

注意: 在这里设置了允许跨域的域名之后, 在服务端的跨域设置中也要设置成相同的:

不然会报错如下:

 

 

打包

打包完成后打开index.html文件是空白的, 路径问题, 修改package.json中:

修改完页面倒是出来了, 样式没加载, 是由于没有添加less的loaders, 修改webpack.config.prod.js:

在导出的对象里的module属性内添加:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值