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

248 lines
6.9 KiB
Markdown
Raw Normal View History

2012-08-23 08:05:07 +08:00
# example.js
``` javascript
function getTemplate(templateName, callback) {
require(["../require.context/templates/"+templateName], function(tmpl) {
callback(tmpl());
});
}
getTemplate("a", function(a) {
console.log(a);
});
getTemplate("b", function(b) {
console.log(b);
});
```
# js/output.js
``` javascript
/******/(function(document, undefined) {
/******/ return 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);
/******/ 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.charset = 'utf-8';
/******/ script.src = modules.c+chunkId+modules.a;
/******/ head.appendChild(script);
/******/ }
/******/ };
/******/ require.modules = modules;
/******/ require.cache = installedModules;
/******/ 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) {
/*** .\example.js ***/
/******/ /* WEBPACK FREE VAR INJECTION */ (function(require,console) {
function getTemplate(templateName, callback) {
require(1, function() { return [require(/* ../require.context/templates */3)("./"+templateName)]}, function(tmpl) {
callback(tmpl());
});
}
getTemplate("a", function(a) {
console.log(a);
});
getTemplate("b", function(b) {
console.log(b);
});
2012-10-09 06:12:10 +08:00
/******/ /* WEBPACK FREE VAR INJECTION */ }(require(/* __webpack_amd_require */2),require(/* __webpack_console */1)))
2012-08-23 08:05:07 +08:00
/******/},
/******/
/******/1: function(module, exports, require) {
/*** (webpack)\buildin\__webpack_console.js ***/
var console = (function() { return this["console"] || (this["window"] && this["window"].console) || {} }());
module.exports = console;
for(var name in {log:1, info:1, error:1, warn:1, dir:1, trace:1, assert:1})
if(!console[name])
console[name] = function() {};
var times = {};
if(!console.time)
console.time = function(label) {
times[label] = Date.now();
};
if(!console.timeEnd)
console.timeEnd = function() {
var duration = Date.now() - times[label];
console.log('%s: %dms', label, duration);
};
/******/},
/******/
/******/2: function(module, exports, require) {
/*** (webpack)\buildin\__webpack_amd_require.js ***/
2012-10-09 06:12:10 +08:00
var req = require.valueOf();
function amdRequire(chunk, requiresFn, fn) {
if(!requiresFn) {
// commonjs
return req(chunk);
2012-08-23 08:05:07 +08:00
}
2012-10-09 06:12:10 +08:00
req.e(chunk, function() {
var modules = requiresFn();
if(fn)
return fn.apply(null, modules);
});
2012-08-23 08:05:07 +08:00
}
2012-10-09 06:12:10 +08:00
for(var name in req)
amdRequire[name] = req[name];
amdRequire.amd = {};
amdRequire.config = function() {/* config is ignored, use webpack options */};
module.exports = amdRequire;
2012-08-23 08:05:07 +08:00
/******/},
/******/
/******/})
```
# js/1.output.js
``` javascript
/******/webpackJsonp(1, {
/******/3: function(module, exports, require) {
/*** (webpack)\examples\require.context\templates ***/
/***/ var map = {"./a.js":4,"./b.js":5,"./c.js":6},
/***/ requireInContext = module.exports = function(name) {
/***/ return require(map[name+""] || map[name+".webpack.js"] || map[name+".web.js"] || map[name+".js"]||name);
/***/ };
/***/ requireInContext.keys = function() { return Object.keys(map) }
/******/},
/******/
/******/4: function(module, exports, require) {
/*** (webpack)\examples\require.context\templates\a.js ***/
module.exports = function() {
return "This text was generated by template A";
}
/******/},
/******/
/******/5: function(module, exports, require) {
/*** (webpack)\examples\require.context\templates\b.js ***/
module.exports = function() {
return "This text was generated by template B";
}
/******/},
/******/
/******/6: function(module, exports, require) {
/*** (webpack)\examples\require.context\templates\c.js ***/
module.exports = function() {
return "This text was generated by template C";
}
/******/},
/******/
/******/})
```
# Info
## Uncompressed
```
2012-10-09 06:12:10 +08:00
Hash: b83e1a10c24b65db5ee14c7bcf8ebc85
Compile Time: 47ms
2012-08-23 08:05:07 +08:00
Chunks: 2
Modules: 7
Modules including duplicates: 7
Modules first chunk: 3
2012-10-09 06:12:10 +08:00
main output.js: 3673 chars/bytes
1 1.output.js: 1105 chars/bytes
2012-08-23 08:05:07 +08:00
<id> <size> <filename>
<reason> from <filename>
output.js
0 304 .\example.js
main
1 516 (webpack)\buildin\__webpack_console.js
require (2x) from .\example.js
2012-10-09 06:12:10 +08:00
2 437 (webpack)\buildin\__webpack_amd_require.js
2012-08-23 08:05:07 +08:00
require (1x) from .\example.js
1.output.js
3 300 [context] (webpack)\examples\require.context\templates
async context from .\example.js
4 82 (webpack)\examples\require.context\templates\a.js
async context from .\example.js
5 82 (webpack)\examples\require.context\templates\b.js
async context from .\example.js
6 82 (webpack)\examples\require.context\templates\c.js
async context from .\example.js
```
## Minimized (uglify-js, no zip)
```
2012-10-09 06:12:10 +08:00
Hash: 7da1af67af62fe871b1f6a446eee7c04
Compile Time: 168ms
2012-08-23 08:05:07 +08:00
Chunks: 2
Modules: 7
Modules including duplicates: 7
Modules first chunk: 3
2012-10-09 06:12:10 +08:00
main output.js: 1386 chars/bytes
1 1.output.js: 473 chars/bytes
2012-08-23 08:05:07 +08:00
<id> <size> <filename>
<reason> from <filename>
output.js
0 185 .\example.js
main
1 402 (webpack)\buildin\__webpack_console.js
require (2x) from .\example.js
2012-10-09 06:12:10 +08:00
2 253 (webpack)\buildin\__webpack_amd_require.js
2012-08-23 08:05:07 +08:00
require (1x) from .\example.js
1.output.js
3 228 [context] (webpack)\examples\require.context\templates
async context from .\example.js
4 72 (webpack)\examples\require.context\templates\a.js
async context from .\example.js
5 72 (webpack)\examples\require.context\templates\b.js
async context from .\example.js
6 72 (webpack)\examples\require.context\templates\c.js
async context from .\example.js
```