0

I am working on my vue app and I am trying to add worker-loader. These are the stops I have followed. I added worker-loader using yarn.

yarn add worker-loader

main.js

import Worker from "worker-loader!./Worker.js";

environment.js

environment.loaders.append('worker-loader', {
  test: /\.worker\.js$/,
  use: [{ 
    loader: "worker-loader"
  }],
});

module.exports = environment;

The error I am getting is

Module not found: Error: Can't resolve './Worker.js' in '/Users/app/javascript/packs/home'

Please have me find where I am going wrong and help me setup worker-loader.

jonrsharpe
  • 115,751
  • 26
  • 228
  • 437
user12763413
  • 1,177
  • 3
  • 18
  • 53

1 Answers1

0

Try replacing

import Worker from "worker-loader!./Worker.js";

With this snippet from the docs

import Worker from "./file.worker.js";

const worker = new Worker();

worker.postMessage({ a: 1 });
worker.onmessage = function (event) {};

worker.addEventListener("message", function (event) {});

if that doesn't work I have had success by changing the previous line to

import Worker from 'worker-loader!./file.worker.js';

from this StackOverflow Answer

Marcello B.
  • 4,177
  • 11
  • 45
  • 65
  • I tried with the above two stated options, for the first case I am getting the error: Module build failed: Error: Cannot find module 'webpack/lib/web/FetchCompileWasmTemplatePlugin'. for the last case I am getting error: Module not found: Error: Can't resolve './file.worker.js' in app/javascript/packs/home'. – user12763413 Apr 15 '21 at 20:27