当前位置: 首页 > Web前端 > HTML5

reactjs-在React中创建一个webworker

时间:2023-04-05 20:36:29 HTML5

我有一个用create-react-app创建的React应用程序,而不是弹出的。我正在尝试使用网络工作者。我已经尝试了worker-loader包(https://github.com/webpack-co....如果我尝试开箱即用的worker-loader(从'worker-loader导入Worker!../workers/myworker.js'),我收到一条错误消息,告诉我CreateReactApp不支持Webpack加载程序,我已经弄清楚了。是弹出应用程序(我不想这样做)并编辑的解决方案webpack.config.js还是有其他方法可以在React应用程序中使用网络工作者?编辑:我在这里找到了解决方案:https://github.com/facebookin...最佳答案正如我在对上面的问题,我在这里找到了解决方案:https://github.com/facebookin...这是一个工作示例://worker.jsconstworkercode=()=>{self.onmessage=function(e){console.log('从主脚本接收到的消息');varworkerResult='从主接收:'+(e.data);console.log('将消息发回主脚本');self.postMessage(workerResult);}};让code=workercode.toString();code=code.substring(code.indexOf("{")+1,code.lastIndexOf("}"));constblob=newBlob([code],{type:"应用程序/javascript"});constworker_script=URL.createObjectURL(blob);module.exports=worker_scri点;然后,在需要使用Webworker的文件中:importworker_scriptfrom'./worker';varmyWorker=newWorker(worker_script);myWorker.onmessage=(m)=>{console.log("msgfromworker:",m.data);};myWorker.postMessage('imfrommain');