example.js
var Worker = require("worker!./worker");
var worker = new Worker;
worker.postMessage("b");
worker.onmessage = function(event) {
var templateB = event.data; // "This text was generated by template B"
}
worker.js
onmessage = function(event) {
var template = event.data;
require(["../require.context/templates/" + event.data], function(tmpl) {
postMessage(tmpl());
});
}
js/output.js
/******/(function(modules) {
/******/ var installedModules = {};
/******/ function require(moduleId) {
/******/ if(typeof moduleId !== "number") throw new Error("Cannot find module '"+moduleId+"'");
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/ modules[moduleId](module, module.exports, require);
/******/ module.loaded = true;
/******/ return module.exports;
/******/ }
/******/ require.e = function(chunkId, callback) {
/******/ callback(require);
/******/ };
/******/ require.modules = modules;
/******/ require.cache = installedModules;
/******/ return require(0);
/******/})
/******/({c:"",
/******/0: function(module, exports, require) {
/*** .\example.js ***/
var Worker = require(/* worker!./worker */1);
var worker = new Worker;
worker.postMessage("b");
worker.onmessage = function(event) {
var templateB = event.data; // "This text was generated by template B"
}
/******/},
/******/
/******/1: function(module, exports, require) {
/*** (webpack)\~\worker-loader!.\worker.js ***/
module.exports = function() {
return new Worker((require.modules.c||'') + "hash.worker.js");
}
/******/},
/******/
/******/})
js/[hash].worker.js
/******/(function(modules) {
/******/ var installedModules = {}, installedChunks = {0:1};
/******/ function require(moduleId) {
/******/ if(typeof moduleId !== "number") throw new Error("Cannot find module '"+moduleId+"'");
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/ modules[moduleId](module, module.exports, require);
/******/ module.loaded = true;
/******/ return module.exports;
/******/ }
/******/ require.e = function(chunkId, callback) {
/******/ if(installedChunks[chunkId] === 1) return callback(require);
/******/ importScripts(chunkId+modules.a);
/******/ callback(require);
/******/ };
/******/ require.modules = modules;
/******/ require.cache = installedModules;
/******/ this[modules.b] = function(chunkId, moreModules) {
/******/ for(var moduleId in moreModules)
/******/ modules[moduleId] = moreModules[moduleId];
/******/ installedChunks[chunkId] = 1;
/******/ };
/******/ return require(0);
/******/})
/******/({a:".hash.worker.js",b:"webpackJsonp",c:"",
/******/0: function(module, exports, require) {
/*** .\worker.js ***/
/******/ /* WEBPACK FREE VAR INJECTION */ (function(require) {
onmessage = function(event) {
var template = event.data;
require(1, function() { return [require(/* ../require.context/templates */2)("./" + event.data)]}, function(tmpl) {
postMessage(tmpl());
});
}
/******/ /* WEBPACK FREE VAR INJECTION */ }(require(/* __webpack_amd_require */1)(require)))
/******/},
/******/
/******/1: function(module, exports, require) {
/*** (webpack)\buildin\__webpack_amd_require.js ***/
function amdRequireFactory(req) {
function amdRequire(chunk, requiresFn, fn) {
if(!requiresFn) {
// commonjs
return req(chunk);
}
req.e(chunk, function() {
var modules = requiresFn();
if(fn)
return fn.apply(null, modules);
});
}
for(var name in req)
amdRequire[name] = req[name];
amdRequire.amd = amdRequireFactory.amd;
amdRequire.config = function() {/* config is ignored, use webpack options */};
return amdRequire;
}
amdRequireFactory.amd = {};
module.exports = amdRequireFactory;
/******/},
/******/
/******/})
Info
Uncompressed
Hash: 9a3fb6bf1155fd1c85b5a003f0e9fe77
Compile Time: 83ms
Chunks: 1
Modules: 2
Modules including duplicates: 2
Modules per chunk: 2
Modules first chunk: 2
output.js: 1354 characters
1.hash.worker.js: 1105 characters
hash.worker.js: 2345 characters
<id> <size> <filename>
<reason> from <filename>
output.js
0 211 .\example.js
main
1 96 (webpack)\~\worker-loader!.\worker.js
require (1x) from .\example.js
Embedded Stats
.\worker.js
Hash: 65bb224a2fa23725b7e946ce69f409df
Compile Time: 31ms
Chunks: 2
Modules: 6
Modules including duplicates: 6
Modules per chunk: 3
Modules first chunk: 2
<id> <size> <filename>
<reason> from <filename>
hash.worker.js
0 211 .\worker.js
main
1 534 (webpack)\buildin\__webpack_amd_require.js
require (1x) from .\worker.js
1.hash.worker.js
2 300 [context] (webpack)\examples\require.context\templates
async context from .\worker.js
3 82 (webpack)\examples\require.context\templates\a.js
async context from .\worker.js
4 82 (webpack)\examples\require.context\templates\b.js
async context from .\worker.js
5 82 (webpack)\examples\require.context\templates\c.js
async context from .\worker.js
Minimized (uglify-js, no zip)
Hash: 7c6135cf8b61087ca531a96e890b8f01
Compile Time: 172ms
Chunks: 1
Modules: 2
Modules including duplicates: 2
Modules per chunk: 2
Modules first chunk: 2
output.js: 477 characters
1.hash.worker.js: 473 characters
hash.worker.js: 801 characters
<id> <size> <filename>
<reason> from <filename>
output.js
0 106 .\example.js
main
1 86 (webpack)\~\worker-loader!.\worker.js
require (1x) from .\example.js
Embedded Stats
.\worker.js
Hash: a1886641df5eb2595eadd73b78b81f70
Compile Time: 106ms
Chunks: 2
Modules: 6
Modules including duplicates: 6
Modules per chunk: 3
Modules first chunk: 2
<id> <size> <filename>
<reason> from <filename>
hash.worker.js
0 120 .\worker.js
main
1 264 (webpack)\buildin\__webpack_amd_require.js
require (1x) from .\worker.js
1.hash.worker.js
2 228 [context] (webpack)\examples\require.context\templates
async context from .\worker.js
3 72 (webpack)\examples\require.context\templates\a.js
async context from .\worker.js
4 72 (webpack)\examples\require.context\templates\b.js
async context from .\worker.js
5 72 (webpack)\examples\require.context\templates\c.js
async context from .\worker.js