我有一个使用“create-react-app”创建的 React 应用程序(我也使用 jsdom NPM 包),由于某种原因,该应用程序在加载时仅在 Firefox 中引发错误(在 Chrome 和 Edge 中运行良好)。
这是错误:
ReferenceError: SharedArrayBuffer is not defined
./node_modules/jsdom/node_modules/webidl-conversions/lib/index.js
C:/Or/Web/WorldCovid/WorldCovid/node_modules/jsdom/node_modules/webidl-conversions/lib/index.js:347
344 |
345 | const abByteLengthGetter =
346 | Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;
> 347 | const sabByteLengthGetter =
348 | Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, "byteLength").get;
349 |
350 | function isNonSharedArrayBuffer(V) {
经过一番谷歌搜索后,我发现:
“要在 Firefox 中启用 SharedArrayBuffer,请转到 about:config 并将 javascript.options.shared_memory 首选项设置为 true”
(https://github.com/ggerganov/kbd-audio/issues/9)
问题是它已经启用为true。
以前有人遇到过这个问题吗?谢谢。
更新:
试图转换为:
const shared = new SharedArrayBuffer(1024);
const abByteLengthGetter =
Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;
const sabByteLengthGetter =
Object.getOwnPropertyDescriptor(shared.prototype, "byteLength").get;
仍然得到相同的错误(与 SharedArrayBuffer 对象不同的行)。