结合使用worker_threads和节点(v11.15.0),webpack和Typescript->未找到模块

时间:2019-11-01 20:16:45

标签: node.js typescript webpack

我正在编写一个NodeJS应用程序,其中我想使用worker_threads摆脱第三方模块(_mfrc522.findCard())的阻塞I / O调用mfrc522-rpi,这会延迟对WebApi在同一应用程序中。

当我尝试在TypeScript文件中引用worker_threads模块时,收到以下WebPack错误消息:

const { Worker } = require('worker_threads');

ERROR in ./core/command-processing/rfid-command-processor.ts
Module not found: Error: Can't resolve 'worker_threads' in '/home/pi/leabox/src/core/command-processing'
 @ ./core/command-processing/rfid-command-processor.ts 11:19-44
 @ ./core/leabox-controller.ts
 @ ./index.ts

但是我可以直接执行以下命令:

node -e "require('worker_threads'); console.log('success');

输出:  success

  • 节点版本:11.15.0
  • WebPack版本:4.41.2
  • TypeScript版本:3.6.4

1 个答案:

答案 0 :(得分:0)

在启动应用程序之前,通过命令行激活对node.js的实验工作者支持对我来说解决了这个问题:

export NODE_OPTIONS=--experimental-worker

请检查此thread以获取更多信息。