Forked from https://github.com/webpack/worker-loader
Differences: This loader will add the path of your static files folder when loading the worker js file
npm i worker-static-loader
Import the worker file:
// main.js
var MyWorker = require("worker-static-loader?{'staticPath':'##PATH_TO_STATIC_FOLDER##'}!./file.js");
var worker = new MyWorker();
worker.postMessage({a: 1});
worker.onmessage = function(event) {...};
worker.addEventListener("message", function(event) {...});
The worker file can import dependencies just like any other file:
// file.js
var _ = require('lodash')
var o = {foo: 'foo'}
_.has(o, 'foo') // true
You can even use ES6 modules if you have the babel-loader configured:
// file.js
import _ from 'lodash'
let o = {foo: 'foo'}
_.has(o, 'foo') // true