webpack/examples/web-worker
Tobias Koppers 0cf8a98be6 updated graphs to new webpack-graph version 2012-10-10 17:29:53 +02:00
..
README.md github do not server static files -> gh-pages 2012-10-09 17:24:06 +02:00
build.js added more examples 2012-08-23 01:58:17 +02:00
example.js added more examples 2012-08-23 01:58:17 +02:00
graph.svg updated graphs to new webpack-graph version 2012-10-10 17:29:53 +02:00
template.md added more examples 2012-08-23 01:58:17 +02:00
webpackOptions.js added more examples 2012-08-23 01:58:17 +02:00
worker.js added more examples 2012-08-23 01:58:17 +02:00

README.md

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)))

/******/},
/******/
/******/1: function(module, exports, require) {

/*** (webpack)\buildin\__webpack_amd_require.js ***/

var req = require.valueOf();
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 = {};
amdRequire.config = function() {/* config is ignored, use webpack options */};
module.exports = amdRequire;


/******/},
/******/
/******/})

Info

Uncompressed

Hash: 9a3fb6bf1155fd1c85b5a003f0e9fe77
Compile Time: 68ms
Chunks: 1
Modules: 2
Modules including duplicates: 2
Modules first chunk: 2
main          output.js:     1354 chars/bytes 
       1.hash.worker.js:     1105 chars/bytes 
         hash.worker.js:     2239 chars/bytes 

 <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: 6ce2177a70a0741653c759ba5e3e684f
     Compile Time: 26ms
     Chunks: 2
     Modules: 6
     Modules including duplicates: 6
     Modules first chunk: 2
     
      <id>    <size>  <filename>
            <reason> from <filename>
     hash.worker.js
         0       211  .\worker.js
            main
         1       437  (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: 175ms
Chunks: 1
Modules: 2
Modules including duplicates: 2
Modules first chunk: 2
main          output.js:      477 chars/bytes 
       1.hash.worker.js:      473 chars/bytes 
         hash.worker.js:      781 chars/bytes 

 <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: 32b01b30a4148ab0f233c37f6b7dcbc9
     Compile Time: 115ms
     Chunks: 2
     Modules: 6
     Modules including duplicates: 6
     Modules first chunk: 2
     
      <id>    <size>  <filename>
            <reason> from <filename>
     hash.worker.js
         0       120  .\worker.js
            main
         1       253  (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