我读了web workers API和puppeteer 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):
(对不起,波兰语)。错误仍然相同。我在网络中找不到更多提示。我绝对需要您的帮助。
我真的想尝试这个worker_threads,因为每300毫秒我就会从一页页面中获取非常大的数组(超过200k个元素),并且我正在对该数组执行过滤器,这会导致浏览器“滞后”。
环境:
答案 0 :(得分:1)
因此,Worker Thread API
基本上是随v10
以上的节点版本一起提供的。您正在使用的版本(electronic 2.x)随节点v8.x一起提供,而该版本未附带该功能。