前端项目中遇到的问题

本地正常,测试环境401

**问题:**在本地接口内取headers内的cookie是正常的,打包到测试环境之后,headers内的cookie就消失了。
**原因:**代码内路由为’/‘,因此本地路径为/,即为正常获取;打包到测试环境之后路由由’/‘,变成了’/ceshi’,取的便是’/ceshi’内的cookie,导致401错误。
**解决:**修改sPath为’/‘,确保’/ceshi’获取的是’/'内的cookie即可。

Chrome正常,其它浏览器401

问题: 项目在其它浏览器打开正常,在Chrome内401。
原因: cookie禁止被Chrome存入。
解决: 设置谷歌的SameSite属性为SameSite=None; Secure

SameSite属性

  • 为了防止CSRF攻击及用户追踪,Chrome从Chrome 51 开始,Cookie内新增了 SameSite 属性。在 Chrome80之后,默认值改变,导致登录失效等问题。
  • CSRF:恶意网站通过伪造带有正确cookie进行HTTP请求。例如:用户通过正确的cookie访问A网站http请求,再访问恶意网站,恶意网站将正确cookie保存下来,进行A网站http请求,此时A网站将此视为正常HTTP请求,这就是CSRF攻击,即Cross-site request forgery。
  • 用户追踪:网站在页面内插入一些恶意链接,用户点击之后,该网站就会收到带有cookie的请求,从而网站就会获取到用户的信息。

SameSite 属性有三个值可以设置:

  1. Strict:完全禁止
  2. Lax:允许部分
  3. None:允许所有
请求类型示例StrictLaxNone
链接<a href="..."></a>NoYesYes
预加载<link rel="prerender" href="..."/>NoYesYes
get<form method="GET" action="...">NoYesYes
post<form method="POST" action="...">NoNoYes
iframe<iframe src="..."></iframe>NoNoYes
ajax$.get("...")NoNoYes
image<img src="...">NoNoYes

vite引入报错

问题: 在这里插入图片描述
原因: Node版本过低导致模块未找到,本机node版本为12,须升级node版本为14。
解决: Windows升级node只能在node官网上下载新版本node,win+R ‘where node’ 获取到node所在位置,将下载好的node替换老node即可。
Linux,用npm全局安装一个管理node版本的管理模板n,,github地址https://github.com/tj/n,命令为npm i -g n --force。
升级到指定版本:n 版本号;
安装最新版本:n latest;
安装最新稳定版本:n --stable。

使用ES6装饰器decorator时出错

问题: 在这里插入图片描述

原因: 使用ES6装饰器decorator时出错,需要在.babelrc内或webpack内进行配置
这个问题是babel的版本问题,在高版本的babel中阻止实施装饰,需要我们添加一个特殊的插件 babel-plugin-transform-decorators-legacy
解决:

  1. 安装babel插件
  2. 在.babel或webpack内配置该插件
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值