脚本如何在Web Workers脚本中使用Javascript imports
/ require
并将其捆绑使用Webpack而不使用Worker-Loader
或任何其他“插件”抽象-仅使用浏览器的Web Worker API?
通过Webpack,我能够生成两个脚本:main.js
和worker.js
。 Webpack文件已设置为可以同时转换两个文件。
在main.js
中实例化一个新工作线程const worker = new Worker('worker.js')
。
工作脚本很简单:
/// worker.js
onmessage = function foo() {
postMessage('test');
};
在main.js
中,postMessage()
正常工作。
但是,一旦将任何模块导入到工作程序中,事情就会中断。
/// worker.js
import bar from 'bar';
onmessage = function foo() {
postMessage('test');
};
答案 0 :(得分:2)
有一个type: "module"
选项可以传递给Worker's constructor:
const worker = new Worker( url, { type: 'module' } );