javascript - Hvordan importere moduler i Web Worker?
Jeg utvikler et prosjekt ved hjelp av Node.js + TypeScript.
Etter å ha startet main.ts returnerer den:
import { parentPort } from 'worker_threads';
^^^^^^
SyntaxError: Cannot use import statement outside a module
main.ts
import { Worker } from 'worker_threads';
const worker = new Worker('./src/Workers/worker.ts');
worker.on('message', (data) => {
console.log(data);
})
worker.postMessage('start');
arbeider.ts
import { parentPort } from 'worker_threads';
import { broadcastService } from '../services/BroadcastService'
parentPort?.on('message', async (data: string) => {
console.log(data);
const currentBroadcasts = await broadcastService.startBroadcastsChecking();
parentPort?.postMessage(currentBroadcasts);
})
Prøvd :
- endre filendelse til
.js(worker.ts -> worker.js) new Worker('./src/Workers/broadcastsCheckingWorker.ts', { type: 'module' } as any)(main.ts)
import { parentPort } from 'worker_threads';
^^^^^^
SyntaxError: Cannot use import statement outside a module
importScripts('../services/BroadcastService')(worker.js/worker.ts)
importScripts('../services/BroadcastService')
^
ReferenceError [Error]: importScripts is not defined
- å legge til
"type": "module"i package.json
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for C:\Users\Administrator\Desktop\lives-downloader-bot\src\server.ts