在使用puppeteer的电子应用程序内部使用webworker

时间:2019-05-28 05:50:00

标签: node.js electron puppeteer web-worker worker

我读了web workers APIpuppeteer docs about worker。现在,我正在尝试在使用puppeteer webdriver的电子应用程序中使用worker。应用是用vue-electron平板生成的。我想在电子应用程序的节点端使用worker。

到目前为止,我尝试过像它们在MDN中显示的那样:

1 import { IWebPartContext } from '@microsoft/sp-webpart-base';
2 import { SPHttpClient } from '@microsoft/sp-http';

这会导致错误:

  

错误:找不到模块'worker_threads'

我确保在终端中使用const Worker = require('worker_threads'); console.log(Worker); 的最新节点版本,而我使用的是node -v

接下来,我尝试在github上的nodejs / help中进行挖掘,发现this在那里他们建议使用v12.3.1。所以我做到了:

--experimental-worker

仍然是相同的错误。接下来,我尝试在github上的"dev": "node --experimental-worker .electron-vue/dev-runner.js", 问题中找到一些内容,然后发现this topic,他们建议在其中设置环境变量electron。所以我做了(Windows 10):

enter image description here

(对不起,波兰语)。错误仍然相同。我在网络中找不到更多提示。我绝对需要您的帮助。

我真的想尝试这个worker_threads,因为每300毫秒我就会从一页页面中获取非常大的数组(超过200k个元素),并且我正在对该数组执行过滤器,这会导致浏览器“滞后”。

环境:

  • Windows 10

1 个答案:

答案 0 :(得分:1)

因此,Worker Thread API基本上是随v10以上的节点版本一起提供的。您正在使用的版本(electronic 2.x)随节点v8.x一起提供,而该版本未附带该功能。