webpack/examples/code-splitted-require.context/README.md

190 lines
5.7 KiB
Markdown
Raw Normal View History

2012-03-10 20:11:23 +08:00
# example.js
``` javascript
2012-03-12 04:37:18 +08:00
function getTemplate(templateName, callback) {
require.ensure([], function(require) {
callback(require("../require.context/templates/"+templateName));
});
}
getTemplate("a", function(a) {
console.log(a);
});
getTemplate("b", function(b) {
console.log(b);
2012-03-10 20:11:23 +08:00
});
```
# 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';
/******/ 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) {
2012-03-12 04:37:18 +08:00
function getTemplate(templateName, callback) {
require.ensure(1, function(require) {
callback(require(/* ../require.context/templates */1)("./"+templateName));
2012-03-12 04:37:18 +08:00
});
}
getTemplate("a", function(a) {
2012-03-20 03:47:58 +08:00
require(/* __webpack_console */2).log(a);
2012-03-12 04:37:18 +08:00
});
getTemplate("b", function(b) {
2012-03-20 03:47:58 +08:00
require(/* __webpack_console */2).log(b);
2012-03-10 20:11:23 +08:00
});
2012-03-20 03:47:58 +08:00
/******/},
/******/
/******/2: function(module, exports, require) {
var console = window.console;
exports.log = (console && console.log) || function() {};
exports.info = (console && console.info) || function() {};
exports.error = (console && console.error) || function() {};
exports.warn = (console && console.warn) || function() {};
exports.dir = (console && console.dir) || function() {};
exports.time = (console && console.time) || function(label) {
times[label] = Date.now();
};
exports.timeEnd = (console && console.timeEnd) || function() {
var duration = Date.now() - times[label];
exports.log('%s: %dms', label, duration);
};
exports.trace = (console && console.trace) || function() {};
exports.assert = (console && console.assert) || function() {};
2012-03-10 20:11:23 +08:00
/******/},
/******/
2012-03-12 04:37:18 +08:00
/******/})
```
# js/1.output.js
``` javascript
/******/webpackJsonp(1, {
2012-03-10 20:11:23 +08:00
/******/1: function(module, exports, require) {
2012-03-12 04:37:18 +08:00
/***/module.exports = function(name) {
2012-03-20 03:47:58 +08:00
/***/ var map = {"./b.js":3,"./a.js":4,"./c.js":5};
/***/ return require(map[name]||map[name+".web.js"]||map[name+".js"]||name);
2012-03-12 04:37:18 +08:00
/***/};
2012-03-10 20:11:23 +08:00
/******/},
/******/
2012-03-20 03:47:58 +08:00
/******/3: function(module, exports, require) {
2012-03-10 20:11:23 +08:00
2012-03-12 04:37:18 +08:00
module.exports = function() {
2012-03-20 03:47:58 +08:00
return "This text was generated by template B";
2012-03-12 04:37:18 +08:00
}
2012-03-10 20:11:23 +08:00
/******/},
/******/
2012-03-20 03:47:58 +08:00
/******/4: function(module, exports, require) {
2012-03-10 20:11:23 +08:00
2012-03-12 04:37:18 +08:00
module.exports = function() {
2012-03-20 03:47:58 +08:00
return "This text was generated by template A";
2012-03-12 04:37:18 +08:00
}
2012-03-10 20:11:23 +08:00
/******/},
/******/
2012-03-20 03:47:58 +08:00
/******/5: function(module, exports, require) {
2012-03-10 20:11:23 +08:00
2012-03-12 04:37:18 +08:00
module.exports = function() {
return "This text was generated by template C";
}
2012-03-10 20:11:23 +08:00
/******/},
/******/
/******/})
```
# Info
## Uncompressed
2012-03-20 03:47:58 +08:00
```
Chunks: 2
Modules: 6
Modules including duplicates: 6
Modules pre chunk: 3
Modules first chunk: 2
output.js: 2815 characters
1.output.js: 735 characters
output.js
0 [...]\examples\code-splitted-require.context\example.js
main
2 [...]\buildin\__webpack_console.js
require (2x) from [...]\examples\code-splitted-require.context\example.js
1.output.js
1 generated [...]\examples\require.context\templates
async context from [...]\examples\code-splitted-require.context\example.js
3 [...]\examples\require.context\templates\b.js
async context from [...]\examples\code-splitted-require.context\example.js
4 [...]\examples\require.context\templates\a.js
async context from [...]\examples\code-splitted-require.context\example.js
5 [...]\examples\require.context\templates\c.js
async context from [...]\examples\code-splitted-require.context\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: 6
Modules including duplicates: 6
Modules pre chunk: 3
Modules first chunk: 2
output.js: 1149 characters
1.output.js: 407 characters
output.js
0 [...]\examples\code-splitted-require.context\example.js
main
2 [...]\buildin\__webpack_console.js
require (2x) from [...]\examples\code-splitted-require.context\example.js
1.output.js
1 generated [...]\examples\require.context\templates
async context from [...]\examples\code-splitted-require.context\example.js
3 [...]\examples\require.context\templates\a.js
async context from [...]\examples\code-splitted-require.context\example.js
4 [...]\examples\require.context\templates\c.js
async context from [...]\examples\code-splitted-require.context\example.js
5 [...]\examples\require.context\templates\b.js
async context from [...]\examples\code-splitted-require.context\example.js
2012-03-10 20:11:23 +08:00
```