developit / developit/web-worker

Blob URL does not work on Node.js

Aperta
#30 3 commenti 9 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
JavaScript
Stelle
1.2k
Fork
57
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

The readme says:

> Worker() accepts a module URL, **Blob URL** or Data URL

But running the following on Node.js 18 results in a crash:

```js
import Worker from 'web-worker';

const blob = new Blob(['foo'], {type: 'text/javascript'});
const url = URL.createObjectURL(blob);
const worker = new Worker(url, {type: 'module'});
```

```
node:internal/errors:466
ErrorCaptureStackTrace(err);
^

TypeError [ERR_INVALID_URL_SCHEME]: The URL must be of scheme file
at new NodeError (node:internal/errors:377:5)
at Object.fileURLToPath (node:internal/url:1484:11)
at new Worker (/Users/sindresorhus/dev/oss/make-asynchronous/node_modules/web-worker/cjs/node.js:108:19)
at file:///Users/sindresorhus/dev/oss/make-asynchronous/x.js:5:16
at ModuleJob.run (node:internal/modules/esm/module_job:198:25)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:409:24)
at async loadESM (node:internal/process/esm_loader:85:5)
at async handleMainPromise (node:internal/modules/run_main:61:12) {
code: 'ERR_INVALID_URL_SCHEME'
}
```

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dal punto di ingresso di Node.js mostrato nello stack trace, cjs/node.js intorno alla riga 108, e confronta la relativa gestione degli URL con l’affermazione della README su Worker URL. Riproduci l’esempio di Blob URL su Node.js 18; il lavoro è completato quando l’esempio non va più in crash e il comportamento documentato di Blob URL funziona.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, node.js
Ambito
backend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.