小编ari*_*iel的帖子

在带有 typescript 的 webpack5 项目上使用 comlink 与 web-workers 一起工作

我有一个用 Typescript 编写并使用 webpack5 捆绑的项目。我尝试使用网络工作者从最小线程中卸载一些代码。

主要.worker.ts:

import { expose } from 'comlink';
import  {TimeConsumingFunction} from "./TimeConsumingFunction"

const exports = {
    TimeConsumingFunction
};

export type WorkerInterfaceTimeConsumingFunction = typeof exports;
export default null as any;
expose(exports);
Run Code Online (Sandbox Code Playgroud)

主要.ts:

import { wrap } from 'comlink';
import {WorkerInterfaceTimeConsumingFunction, default as DataPixelsWorker} from './main.worker';


const worker = new Worker(new URL("./main.worker", import.meta.url));
const workerApi = wrap(worker);

let result = await workerApi.TimeConsumingFunction();
Run Code Online (Sandbox Code Playgroud)

ts配置:

{
  "compilerOptions": {
    "target": "es3",
    "module": "esnext",
    "lib": ["webworker", "es2018", "dom"],
    "allowJs": true,
    "checkJs": false, …
Run Code Online (Sandbox Code Playgroud)

javascript web-worker typescript webpack comlink

5
推荐指数
0
解决办法
1597
查看次数

标签 统计

comlink ×1

javascript ×1

typescript ×1

web-worker ×1

webpack ×1