As of webpack 5, you can use Web Workers without worker-loader.
new Worker(new URL('./worker.js', import.meta.url));The syntax was chosen to allow running code without bundler, it is also available in native ECMAScript modules in the browser.
src/index.js
const worker = new Worker(new URL('./deep-thought.js', import.meta.url));
worker.postMessage({
  question:
    'The Answer to the Ultimate Question of Life, The Universe, and Everything.',
});
worker.onmessage = ({ data: { answer } }) => {
  console.log(answer);
};src/deep-thought.js
self.onmessage = ({ data: { question } }) => {
  self.postMessage({
    answer: 42,
  });
};