我正在尝试在 Web Worker 中导入一个模块,该模块又导入另一个模块并收到以下错误Uncaught SyntaxError: Cannot use import statement outside a module。我的网络工作者正在导入这样的脚本:
importScripts(
'./utils.js',
'./nn.js'
);
Run Code Online (Sandbox Code Playgroud)
错误指向第二行'./utils.js',但其实际来源是第一行,utils.js如下所示:
import * as DG from 'datagrok-api/dg';
Run Code Online (Sandbox Code Playgroud)
我尝试设置"type": "module"in package.json,但这导致我无法使用Webpack编译我的项目并产生其他错误。
我还尝试创建一个工作人员,new Worker('my.worker.js', {type: "module"})以便我可以import在其中使用语句,但在这种情况下,我无法向工作人员发布消息,甚至没有收到任何错误。此外,除了 Chrome 之外,模块工作人员在任何地方都不受支持。
我尝试使用workerize-loader管理网络工作者,但它不适用于我正在使用的Webpack 5 。
所以我的问题是:如何在包含模块导入的 Web Worker 中导入模块?