在Vite中使用ShareArrayBuffer
sharedArrayBuffer在早些年是有那个安全性问题的,跟幽灵漏洞、旁路工具那些有关系,然后被禁用了一段时间,在好像是2018年,开始推出新政策,在跨源隔离的条件下可以使用sharedArrayBuffer。更加具体的信息可以参考这篇文章。
如果需要在使用vite的情况下使用SharedArrayBuffer,那么需要对vite进行设置,打开跨源隔离,代码如下:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import wasm from "vite-plugin-wasm";
export default defineConfig({
plugins: [react(),wasm()],
server: {
hmr: {
overlay: false,
},
headers: {
"Cross-Origin-Embedder-Policy": "require-corp",
"Cross-Origin-Opener-Policy": "same-origin",
},
}
})
重要的是headers那两行,作用是开启跨源隔离。然后问题就解决了。
还有一个插件也是为了解决这个问题的,但是这个插件我没有用过。
文章讲述了如何在Vite环境中安全使用SharedArrayBuffer,由于早先的安全问题,如幽灵漏洞,SharedArrayBuffer一度被限制。现在,通过设置Vite的服务器配置,特别是添加`Cross-Origin-Embedder-Policy`和`Cross-Origin-Opener-Policy`头部信息来开启跨源隔离,可以在满足安全条件的情况下使用它。此外,提到了一个可能用于解决此问题的插件,但作者未亲自尝试。
531





