gpt4 book ai didi

javascript - Electron Web Workers 不支持 NodeJS 模块

转载 作者:行者123 更新时间:2023-11-30 19:59:21 44 4
gpt4 key购买 nike

我正在使用 Electron 与 ReactJS 一起构建桌面应用程序。

我从第一个渲染器进程打开一个新的、不可见的 BrowserWindow 以启动另一个渲染器进程。在这个新的渲染器进程中,我注册了一个网络 worker ,其中将定期调用 API 调用以获取数据。

这是在不可见窗口 HTML 脚本标签中注册网络 worker 的代码:

let installWebWorker = () => {
console.log("installWebWorker()");
if (typeof(Worker) !== "undefined") {
console.log("Web worker supported");
let monitorsWorker = new Worker("fetchMonitors.js");
} else {
console.log("Sorry! No Web Worker support...");
}
}; //end installWebWorker()
installWebWorker();

在 fetchMonitors.js worker 本身中,我需要“electron-is-dev” Node 模块在开发中调用 fetch API。为此,我使用 require("electron").remote.require("electron")。我收到以下错误:

开发工具错误: DevTools Error

这个错误让我相信 Electron NodeJS 模块在网络 worker 中不受支持。 Electron 文档 here然而,另有说法。

最佳答案

我能够解决我自己的问题。事实证明,只要在后台窗口中启用 nodeIntegration 来运行 web worker,就可以在 web worker 中实际使用 NodeJS。

引发我错误的是我通过 electron.remote() 请求 Node 模块。在 web worker 中,您可以像通常在 Node 中一样使用 require() 导入 Node 模块。

repository详细介绍了如何在 Electron 中的网络 worker 中使用 Node 模块。

关于javascript - Electron Web Workers 不支持 NodeJS 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53564469/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com