webpack/examples/code-splitting/README.md

161 lines
3.8 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] = {
/******/ exports: {}
/******/ };
/******/ modules[moduleId](module, module.exports, require);
/******/ return module.exports;
/******/ }
/******/ require.ensure = function(chunkId, callback) {
/******/ 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);
/******/ }
/******/ };
/******/ 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) {
var a = require(/* a */2);
2012-04-05 20:59:01 +08:00
var b = require(/* b */1);
2012-03-10 20:11:23 +08:00
require.ensure(1, function(require) {
2012-04-05 20:59: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-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-04-05 20:59:01 +08:00
// module a
2012-03-10 20:11:23 +08:00
/******/},
/******/
/******/})
```
# 1.output.js
``` javascript
/******/webpackJsonp(1, {
/******/3: function(module, exports, require) {
2012-03-10 20:11:23 +08:00
2012-04-05 20:59:01 +08:00
// module c
2012-03-10 20:11:23 +08:00
/******/},
/******/
/******/4: function(module, exports, require) {
2012-03-10 20:11:23 +08:00
2012-04-05 20:59:01 +08:00
// module d
2012-03-10 20:11:23 +08:00
/******/},
/******/
/******/})
```
Minimized
``` javascript
2012-04-05 20:59:01 +08:00
webpackJsonp(1,{3:function(a,b,c){},4:function(a,b,c){}})
2012-03-10 20:11:23 +08:00
```
# Info
## Uncompressed
2012-03-20 03:47:58 +08:00
```
Chunks: 2
Modules: 5
Modules including duplicates: 5
Modules pre chunk: 2.5
Modules first chunk: 3
2012-04-09 20:44:47 +08:00
output.js: 2114 characters
2012-03-20 03:47:58 +08:00
1.output.js: 200 characters
<id> <size> <filename>
<reason> from <filename>
2012-03-20 03:47:58 +08:00
output.js
0 82 .\example.js
2012-03-20 03:47:58 +08:00
main
2012-04-09 20:44:47 +08:00
1 0 .\node_modules\b.js
2012-04-05 20:59:01 +08:00
require (2x) from .\example.js
2012-04-09 20:44:47 +08:00
2 0 .\node_modules\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
2012-04-09 20:44:47 +08:00
3 0 .\node_modules\c.js
2012-04-05 20:59:01 +08:00
async require (1x) from .\example.js
2012-04-09 20:44:47 +08:00
4 0 .\node_modules\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
```
Chunks: 2
Modules: 5
Modules including duplicates: 5
Modules pre chunk: 2.5
Modules first chunk: 3
2012-04-05 20:59:01 +08:00
output.js: 747 characters
2012-03-20 03:47:58 +08:00
1.output.js: 57 characters
<id> <size> <filename>
<reason> from <filename>
2012-03-20 03:47:58 +08:00
output.js
0 82 .\example.js
2012-03-20 03:47:58 +08:00
main
2012-04-09 20:44:47 +08:00
1 0 .\node_modules\b.js
2012-04-05 20:59:01 +08:00
require (2x) from .\example.js
2012-04-09 20:44:47 +08:00
2 0 .\node_modules\a.js
require (1x) from .\example.js
2012-03-20 03:47:58 +08:00
1.output.js
2012-04-09 20:44:47 +08:00
3 0 .\node_modules\c.js
2012-04-05 20:59:01 +08:00
async require (1x) from .\example.js
2012-04-09 20:44:47 +08:00
4 0 .\node_modules\d.js
2012-04-05 20:59:01 +08:00
async require (1x) from .\example.js
2012-03-10 20:11:23 +08:00
```