Использование WebWoker с приложением create-реагировать и набирать - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть проект, использующий create-react-app и typescript

Я хотел бы включить WebWorker для выполнения некоторых дорогостоящих задач. Но я не нашел никаких решений для его включения.

Я просмотрел несколько библиотек:

У вас есть идеи?

Заранее спасибо!

1 Ответ

1 голос
/ 25 апреля 2020

Я наконец-то использую [worker-loader]. Работает нормально.

https://github.com/webpack-contrib/worker-loader#integrating -with-typescript

Для интеграции с TypeScript вам потребуется определить пользовательский модуль для экспорта вашего работника

// typings/custom.d.ts
declare module "worker-loader!*" {
  class WebpackWorker extends Worker {
    constructor();
  }

  export default WebpackWorker;
}
// Worker.ts
const ctx: Worker = self as any;

// Post data to parent thread
ctx.postMessage({ foo: "foo" });

// Respond to message from parent thread
ctx.addEventListener("message", (event) => console.log(event));
// App.ts
import Worker from "worker-loader!./Worker";

const worker = new Worker();

worker.postMessage({ a: 1 });
worker.onmessage = (event) => {};

worker.addEventListener("message", (event) => {});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...