Importing a relative path from an inline module webworker doesn't work

Viewed 182

I am trying to implement a basic example of a module worker in Chrome, I am following this guide, but I want for the worker to be inline.

https://web.dev/module-workers/#enter-module-workers

I have, the worker code (math.js is a file in the same folder)

import { add } from './math.js'

self.addEventListener('message', (event) => {
  const { a, b } = event.data

  const result = add(a, b)

  self.postMessage(result)
})

and in javascript I'm doing


// Create a blob for the inline worker code
const blob = new Blob([workerScript], { type: "text/javascript" });

// Create worker
const worker = new Worker(window.URL.createObjectURL(blob), { type: "module" });

// log the data received
worker.addEventListener("message", (event) => {
  document.write(event.data);
});

worker.addEventListener("error", (event) => {
  console.error(event);
});

// send a message
worker.postMessage({ a: 3, b: 5 });

However I am getting an error message in the console.

I am getting this error both locally and on the deployed server. Here is a repro:

Repo: https://github.com/marcofugaro/inline-module-web-worker-relative-path-test Online: https://marcofugaro.github.io/inline-module-web-worker-relative-path-test/

0 Answers
Related