WebPack 5与使用React/Typescript的Web工作者



如何让web worker与create-react应用程序、Typescript和Webpack 5一起工作?文件非常有限,我找不到任何好的解释。我不想使用webpackloader等

我正在使用webpack5建议的API来实例化工作者。我已经使用了ComLink,但它使用了我不想要的RPC(此外,ComLink不能复制套接字或rxjs可观察数据结构(。

我想创建一个网络工作者,这样我就可以通过网络套接字流式传输数据,任何指针都非常感谢。

const worker = new Worker(new URL('./test.worker.ts', import.meta.url));
worker.postMessage("test");

但它抛出了以下异常。

模块解析失败:意外的令牌(16:64(文件是用处理的这些装载机:*./node_modules/@pmmmwh/react刷新webpack-plugin/loader/index.js*./node_modules/babel-loader/lib/index.js您可能需要额外的loader来处理这些loader的结果。||
React.useEffect(((=>{

const worker = new Worker(new URL('./test.worker.ts', import.meta.url)); |     worker.postMessage("test"); |   }, []);

当前创建反应应用仍在使用Webpack 4。这就是为什么您的代码在当前React设置中无法工作的原因。

你可以手动弹出和升级Webpack,但我认为它不会开箱即用,因为它是一个主要的版本升级。

我建议等到React 18发布,因为它应该包括Webpack 5。因为我可以在create-react-appGithub repo中看到版本已经更新。

请参见此处。

最新更新