我的React应用程序有axios
(依赖项(和json-server
(开发依赖项(无法满足,在我这样做之后,我的React应用程序开始抛出以下警告消息:
[Deprecation] SharedArrayBuffer will require cross-origin isolation as of M91, around May 2021.
这是什么,我如何解决错误,为什么会发生这种情况?
我是该领域的初学者,错误中提供的链接使用了我无法理解的高级语言(https://developer.chrome.com/blog/enabling-shared-array-buffer/)是控制台中提供的链接。
在将我的react更新到17.0.2后,我仍然收到此警告消息。有什么建议吗?谢谢
它是什么-Chrome将需要从版本91开始的跨源隔离才能使用SharedArrayBuffer。
解决方案:您只需要将react
和react-dom
版本从17.0.1
更新为17.0.2
。
您可以使用yarn upgrade react --latest
和yarn upgrade react-dom --latest
来升级和更新package.json。此外,请在更新npm包后重新启动服务器。
什么是SharedArrayBuffer,为什么要更改官方文档
SharedArrayBuffer
是一个JavaScript
对象,用于在网站上跨线程共享内存空间。在发现名为Spectre的漏洞之前,网站就已经使用了它。然而,由于Spectre是一个CPU级别的漏洞,在可预见的未来不太可能修复,浏览器决定禁用SharedArray Buffer对象。
虽然Chrome在桌面上重新启用了它,并将站点隔离作为临时补救措施,但cross-origin isolation
被标准化为安全启用SharedArrayBuffer对象的一种方式。从计划于2021年5月底发布的91版开始,Chrome将在跨源隔离后屏蔽SharedArrayBuffer对象。Firefox启用了SharedArray Buffer对象