当前位置: 首页 > 面试题库 >

在React中创建一个Web Worker

洪捷
2023-03-14
问题内容

我有一个用create-react-app创建的React应用,没有弹出。我正在尝试使用网络工作者。我已经尝试过worker-
loader软件包(https://github.com/webpack-contrib/worker-
loader
)。

如果我尝试开箱即用(- import Worker from 'worker- loader!../workers/myworker.js';)的worker-loader ,我将收到一条错误消息,告诉我Create React
App不支持Webpack加载器,我已经知道。

解决方案是弹出应用程序(我不希望这样做)并编辑webpack.config.js还是在React应用程序中使用Web Worker的其他方法?

编辑:我在这里找到解决方案:https : //github.com/facebookincubator/create-react-
app/issues/1277(由yonatanmn发布)


问题答案:

正如我在上面的问题的编辑中所写的那样,我在这里找到了解决方案:https : //github.com/facebookincubator/create-react-
app/issues/1277

这是一个工作示例:

// worker.js
const workercode = () => {

    self.onmessage = function(e) {
        console.log('Message received from main script');
        var workerResult = 'Received from main: ' + (e.data);
        console.log('Posting message back to main script');
        self.postMessage(workerResult);
    }
};

let code = workercode.toString();
code = code.substring(code.indexOf("{")+1, code.lastIndexOf("}"));

const blob = new Blob([code], {type: "application/javascript"});
const worker_script = URL.createObjectURL(blob);

module.exports = worker_script;

然后,在需要使用Web Worker的文件中:

import worker_script from './worker';
var myWorker = new Worker(worker_script);

myWorker.onmessage = (m) => {
    console.log("msg from worker: ", m.data);
};
myWorker.postMessage('im from main');


 类似资料:
  • 本文向大家介绍怎样在react中创建一个事件?相关面试题,主要包含被问及怎样在react中创建一个事件?时的应答技巧和注意事项,需要的朋友参考一下 var EventEmitter = require('events').EventEmitter; class App extends Component{ constructor(props){ super(props); } componentD

  • 首先,打开Android Studio并选择Create new Project,然后它会让你输入一个名字,你可以任意取一个名字,比如:Weather App。然后你需要输入公司域名。如果你不会真正发布这个app,这个字段就不是特别重要了,但是如果你有的话可以使用自己的域名。然后任意选择一个目录作为这个项目的保存地址。 下一步,它会让你选择最小的API版本。我们选择API 15,因为我们有一个库需

  • 10.3.4.在TimelineActivity.java中创建一个Adapter 已经有了相应的XML文件,接下来修改Java代码,把Adapter创建出来。Adapter通常有两种形式:一种基于数组(Array),一种基于Cursor。这里我们的数据来自数据库,因此选择基于Cursor的Adapter。而其中最简单的又数SimpleCursorAdapter。 SimpleCursorAdap

  • 本文向大家介绍举例说明如何在React创建一个事件相关面试题,主要包含被问及举例说明如何在React创建一个事件时的应答技巧和注意事项,需要的朋友参考一下 楼上的兄弟,帮你格式化一下代码,看的难受

  • 问题内容: 我想编写一个检查目录是否存在的程序;如果该目录不存在,那么它将在其中创建目录和一个日志文件,但是如果该目录已经存在,则它将在该文件夹中创建一个新的日志文件。 我如何在Linux中用C做到这一点? 问题答案: 看看检查,如果该目录存在, 和,创建目录。 您可以使用和命令查看这些功能的手册。

  • 问题内容: 现在我用 但这有点棘手。是否有“标准”方法在Node.js中创建空文件? 问题答案: 如果要强制文件为空,则要改用标志: 如果文件存在,它将截断文件,如果文件不存在,则将创建文件。 如果不需要返回的文件描述符,则将其包装在调用中。