在使用 puppeteer 的电子应用程序中使用 webworker

Using webworker inside electron app which use puppeteer

我阅读了 web workers API and puppeteer docs about worker. Now I'm trying to use worker within my electron app which use puppeteer webdriver. App was generated with vue-electron 样板文件。我想在电子应用程序的节点端使用 worker。

到目前为止,我已经按照他们在 MDN 中显示的方式进行了尝试:

const Worker = require('worker_threads');
console.log(Worker);

这导致错误:

Error: Cannot find module 'worker_threads'

我在终端中通过 node -v 确保我使用的是最新的节点版本,我是,版本是 v12.3.1

接下来我尝试在 github 上的 nodejs / 帮助中挖掘一些东西,我发现 this 他们建议使用 --experimental-worker。所以我做了:

"dev": "node --experimental-worker .electron-vue/dev-runner.js",

还是一样的错误。接下来我试图在 github 上的 electron 问题中找到一些东西,我发现 this topic 他们建议设置 NODE_OPTIONS=--experimental-worker 的环境变量。所以我做了 (windows 10):

(对抛光感到抱歉)。错误还是一样。我在网络中找不到更多提示。我绝对需要你们的帮助。

我真的很想试试这个 worker_threads 因为每隔 300 毫秒我就会从其中一个页面得到非常大的数组(超过 200k 个元素)并且我正在对这个数组执行过滤器导致浏览器 "lags".

环境:

所以基本上 Worker Thread API 只是随 v10 以上的节点版本一起提供。您使用的版本 ( electron 2.x ) 附带了节点 v8.x,但没有附带该功能。