How to use WebWorker with ts-node? (without webpack) How to use WebWorker with ts-node? (without webpack) typescript typescript

How to use WebWorker with ts-node? (without webpack)


You can make an function to make the magic, using eval property of WorkerOption parameter.

const workerTs = (file: string, wkOpts: WorkerOptions) => {    wkOpts.eval = true;    if (!wkOpts.workerData) {        wkOpts.workerData = {};    }    wkOpts.workerData.__filename = file;    return new Worker(`            const wk = require('worker_threads');            require('ts-node').register();            let file = wk.workerData.__filename;            delete wk.workerData.__filename;            require(file);        `,        wkOpts    );}

so you can create the thread like this:

let wk = workerTs('./file.ts', {});

Hope it can help.