4

我正在尝试在node.js.

const { Worker, isMainThread, parentPort } = require('worker_threads');
if (isMainThread) {
    // This code is executed in the main thread and not in the worker.

    // Create the worker.
    const worker = new Worker(__filename);
    // Listen for messages from the worker and print them.
    worker.on('message', (msg) => { console.log(msg); });
} else {
    // This code is executed in the worker and not in the main thread.

    // Send a message to the main thread.
    parentPort.postMessage('Hello world!');
}

我保存上面的代码并在终端上index.js运行。node --experimental-worker index.js我收到以下错误:

节点:错误选项:--experimental-worker。

v8.16.0的 Mac 中安装了节点。

4

2 回答 2

7

该类Worker是在 nodejs v10.5.0 中添加的。

要使用--experimental-worker至少需要 nodejs v10.5.0

使用nodejs v12.x它是稳定的,可以在没有的情况下使用--experimental-worker

下载:nodejs

版本管理器:nvm

于 2019-09-29T12:15:36.097 回答
1

我有同样的问题,但正如@Estradiaz 所建议的,我将节点版本从 v8.16.0 升级到 v.12.13.1

  1. 非虚拟机安装 12.13.1
  2. nvm use 12.13.1 然后问题解决了。
于 2020-06-24T08:16:48.703 回答