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