webpack/examples/code-splitting/README.md

180 lines
4.1 KiB
Markdown
Raw Normal View History

2012-03-10 20:11:23 +08:00
# example.js
``` javascript
var a = require("a");
var b = require("b");
require.ensure(["c"], function(require) {
require("b").xyz();
var d = require("d");
});
```
# js/output.js
``` javascript
/******/(function(document, undefined) {
/******/ return function(modules) {
/******/ var installedModules = {}, installedChunks = {0:1};
/******/ function require(moduleId) {
2012-03-20 03:47:58 +08:00
/******/ if(typeof moduleId !== "number") throw new Error("Cannot find module '"+moduleId+"'");
2012-03-10 20:11:23 +08:00
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ var module = installedModules[moduleId] = {
2012-08-23 08:05:07 +08:00
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
2012-03-10 20:11:23 +08:00
/******/ };
/******/ modules[moduleId](module, module.exports, require);
2012-08-23 08:05:07 +08:00
/******/ module.loaded = true;
2012-03-10 20:11:23 +08:00
/******/ return module.exports;
/******/ }
2012-05-22 04:59:31 +08:00
/******/ require.e = function(chunkId, callback) {
2012-03-10 20:11:23 +08:00
/******/ if(installedChunks[chunkId] === 1) return callback(require);
/******/ if(installedChunks[chunkId] !== undefined)
/******/ installedChunks[chunkId].push(callback);
/******/ else {
/******/ installedChunks[chunkId] = [callback];
/******/ var head = document.getElementsByTagName('head')[0];
/******/ var script = document.createElement('script');
/******/ script.type = 'text/javascript';
2012-04-05 20:59:01 +08:00
/******/ script.charset = 'utf-8';
2012-03-10 20:11:23 +08:00
/******/ script.src = modules.c+chunkId+modules.a;
/******/ head.appendChild(script);
/******/ }
/******/ };
2012-05-17 18:47:06 +08:00
/******/ require.modules = modules;
2012-07-11 23:53:46 +08:00
/******/ require.cache = installedModules;
2012-03-10 20:11:23 +08:00
/******/ window[modules.b] = function(chunkId, moreModules) {
/******/ for(var moduleId in moreModules)
/******/ modules[moduleId] = moreModules[moduleId];
/******/ var callbacks = installedChunks[chunkId];
/******/ installedChunks[chunkId] = 1;
/******/ for(var i = 0; i < callbacks.length; i++)
/******/ callbacks[i](require);
/******/ };
/******/ return require(0);
/******/ }
/******/})(document)
/******/({a:".output.js",b:"webpackJsonp",c:"",
/******/0: function(module, exports, require) {
2012-11-07 19:49:01 +08:00
/**! .\example.js !**/
2012-07-11 23:53:46 +08:00
2012-11-07 19:49:01 +08:00
var a = require(/*! a */2);
var b = require(/*! b */1);
2012-05-22 04:59:31 +08:00
require.e(1, function(require) {
2012-11-07 19:49:01 +08:00
require(/*! b */1).xyz();
var d = require(/*! d */4);
2012-03-10 20:11:23 +08:00
});
/******/},
/******/
/******/1: function(module, exports, require) {
2012-11-07 19:49:01 +08:00
/**! .\~\b.js !**/
2012-07-11 23:53:46 +08:00
2012-04-05 20:59:01 +08:00
// module b
2012-03-10 20:11:23 +08:00
/******/},
/******/
/******/2: function(module, exports, require) {
2012-03-10 20:11:23 +08:00
2012-11-07 19:49:01 +08:00
/**! .\~\a.js !**/
2012-07-11 23:53:46 +08:00
2012-04-05 20:59:01 +08:00
// module a
2012-03-10 20:11:23 +08:00
2012-10-26 21:07:50 +08:00
/******/}
2012-03-10 20:11:23 +08:00
/******/})
```
2012-05-01 16:51:02 +08:00
# js/1.output.js
2012-03-10 20:11:23 +08:00
``` javascript
2012-11-08 17:53:54 +08:00
/******/webpackJsonp(1,{
/******/3: function(module, exports, require) {
/**! .\~\c.js !**/
// module c
/******/},
/******/
/******/4: function(module, exports, require) {
/**! .\~\d.js !**/
// module d
/******/}
/******/})
2012-03-10 20:11:23 +08:00
```
Minimized
``` javascript
2012-11-07 19:49:01 +08:00
webpackJsonp(1,{3:function(){},4:function(){}});
2012-03-10 20:11:23 +08:00
```
# Info
## Uncompressed
2012-03-20 03:47:58 +08:00
```
2012-11-07 19:49:01 +08:00
Hash: f9f9457a3d5544cebb5ce4117187a471
Compile Time: 47ms
2012-03-20 03:47:58 +08:00
Chunks: 2
Modules: 5
Modules including duplicates: 5
Modules first chunk: 3
2012-11-07 19:49:01 +08:00
main output.js: 2286 chars/bytes
2012-10-26 21:07:50 +08:00
1.output.js: 229 chars/bytes
<id> <size> <filename>
<reason> from <filename>
2012-03-20 03:47:58 +08:00
output.js
2012-11-07 19:49:01 +08:00
0 154 .\example.js
2012-03-20 03:47:58 +08:00
main
1 11 .\~\b.js
2012-04-05 20:59:01 +08:00
require (2x) from .\example.js
2 11 .\~\a.js
2012-04-05 20:59:01 +08:00
require (1x) from .\example.js
2012-03-20 03:47:58 +08:00
1.output.js
3 11 .\~\c.js
2012-04-05 20:59:01 +08:00
async require (1x) from .\example.js
4 11 .\~\d.js
2012-04-05 20:59:01 +08:00
async require (1x) from .\example.js
2012-03-10 20:11:23 +08:00
```
2012-03-12 04:37:18 +08:00
## Minimized (uglify-js, no zip)
2012-03-10 20:11:23 +08:00
2012-03-20 03:47:58 +08:00
```
2012-11-07 19:49:01 +08:00
Hash: b4b348db91689f6fb88a039e9d987a96
Compile Time: 203ms
2012-03-20 03:47:58 +08:00
Chunks: 2
Modules: 5
Modules including duplicates: 5
Modules first chunk: 3
2012-11-07 19:49:01 +08:00
main output.js: 759 chars/bytes
1.output.js: 48 chars/bytes
<id> <size> <filename>
<reason> from <filename>
2012-03-20 03:47:58 +08:00
output.js
2012-11-07 19:49:01 +08:00
0 72 .\example.js
2012-03-20 03:47:58 +08:00
main
1 0 .\~\b.js
2012-04-05 20:59:01 +08:00
require (2x) from .\example.js
2 0 .\~\a.js
require (1x) from .\example.js
2012-03-20 03:47:58 +08:00
1.output.js
3 0 .\~\c.js
2012-04-05 20:59:01 +08:00
async require (1x) from .\example.js
4 0 .\~\d.js
2012-04-05 20:59:01 +08:00
async require (1x) from .\example.js
2012-03-10 20:11:23 +08:00
```
2012-10-09 23:17:38 +08:00
## Graph
![webpack-graph](http://webpack.github.com/webpack/examples/code-splitting/graph.svg)