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

139 lines
3.3 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) {
/******/ 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(1)("./"+templateName));
});
}
getTemplate("a", function(a) {
console.log(a);
});
getTemplate("b", function(b) {
console.log(b);
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) {
/***/ var map = {"./b.js":3,"./a.js":2,"./c.js":4};
/***/ return require(map[name]||map[name+".web.js"]||map[name+".js"]);
/***/};
2012-03-10 20:11:23 +08:00
/******/},
/******/
/******/2: function(module, exports, require) {
2012-03-12 04:37:18 +08:00
module.exports = function() {
return "This text was generated by template A";
}
2012-03-10 20:11:23 +08:00
/******/},
/******/
/******/3: function(module, exports, require) {
2012-03-12 04:37:18 +08:00
module.exports = function() {
return "This text was generated by template B";
}
2012-03-10 20:11:23 +08:00
/******/},
/******/
/******/4: function(module, exports, require) {
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
``` javascript
{ chunkCount: 2,
modulesCount: 5,
modulesIncludingDuplicates: 5,
modulesPerChunk: 2.5,
2012-03-12 04:37:18 +08:00
modulesFirstChunk: 1,
fileSizes: { 'output.js': 1855, '1.output.js': 729 } }
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
``` javascript
{ chunkCount: 2,
modulesCount: 5,
modulesIncludingDuplicates: 5,
modulesPerChunk: 2.5,
2012-03-12 04:37:18 +08:00
modulesFirstChunk: 1,
fileSizes: { 'output.js': 683, '1.output.js': 404 } }
2012-03-10 20:11:23 +08:00
```