【发布时间】:2021-12-08 08:43:21
【问题描述】:
我有一个 webpack 库,其中包含一个 webworker(通过 'magic' worker 处理程序导入),我正在尝试从另一个项目(在本例中为 angular 项目)运行这个库。
我已正确地将工作程序(和工作程序块)文件复制到我的角度项目的输出中,因为如果我在托管它的同一域中运行我的角度项目,网络工作者将正确运行。
这是用于运行 worker 的代码(然后将其添加到 webpack)
var worker = new Worker(new URL('../worker/worker.ts', import.meta.url));
我已经用一个处理跨域故障转移的存根替换了默认工作线程。
我的问题是我的项目通常不会运行相同的域上下文,而是在不同的域上运行。我可以在非工作人员代码中设置__webpack_public_path__,以便正确解析网络工作人员网址 - 但是网络工作人员只加载一个块加载存根,该存根具有来自 webpack 配置的嵌入式公共路径(如果已设置),但没有在运行时更改它的方法。
我的问题是 - 有没有一种方法可以编辑该块加载存根以在运行时具有不同的公共路径,或者,有没有一种方法可以改变库与 Angular 项目的 webpacker 的交互方式,以便使用的值对于 deploypath,有复制到正在复制的 worker js 库(通过 angular.json 中的附加资产)?
【问题讨论】:
标签: webpack web-worker webpack-splitchunks