我有一个使用'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)
问题是它已经被启用为真了。
有人之前遇到过这个问题吗? 谢谢。 更新: 尝试转换为:
const shared = new SharedArrayBuffer(1024);
const abByteLengthGetter =
Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;
const sabByteLengthGetter =
Object.getOwnPropertyDescriptor(shared.prototype, "byteLength").get;
仍然会出现相同的错误(与SharedArrayBuffer对象不同的行)。
create-react-app
和jsdom
npm
包(以及axios
)。 - Ed Graham