mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
	
	
		
			254 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
		
		
			
		
	
	
			254 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
|  | 
 | ||
|  | # example.js
 | ||
|  | 
 | ||
|  | ``` javascript | ||
|  | 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
 | ||
|  | 
 | ||
|  | ``` javascript | ||
|  | onmessage = function(event) { | ||
|  | 	var template = event.data; | ||
|  | 	require(["../require.context/templates/" + event.data], function(tmpl) { | ||
|  | 		postMessage(tmpl()); | ||
|  | 	}); | ||
|  | } | ||
|  | 
 | ||
|  | ``` | ||
|  | 
 | ||
|  | # js/output.js
 | ||
|  | 
 | ||
|  | ``` javascript | ||
|  | /******/(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
 | ||
|  | 
 | ||
|  | ``` javascript | ||
|  | /******/(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 | ||
|  | ``` |