mirror of https://github.com/webpack/webpack.git
209 lines
6.3 KiB
Markdown
209 lines
6.3 KiB
Markdown
# 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 webpackBootstrap(modules) {
|
|
/******/ var installedModules = {};
|
|
/******/ 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].call(null, module, module.exports, require);
|
|
/******/ module.loaded = true;
|
|
/******/ return module.exports;
|
|
/******/ }
|
|
/******/ require.e = function requireEnsure(chunkId, callback) {
|
|
/******/ if(installedChunks[chunkId] === 1) return callback.call(null, 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+".output.js";
|
|
/******/ head.appendChild(script);
|
|
/******/ }
|
|
/******/ };
|
|
/******/ require.modules = modules;
|
|
/******/ require.cache = installedModules;
|
|
/******/ var installedChunks = {0:1};
|
|
/******/ window["webpackJsonp"] = function webpackJsonpCallback(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].call(null, require);
|
|
/******/ };
|
|
/******/ return require(0);
|
|
/******/ })({
|
|
/******/ c: "",
|
|
|
|
/***/ 0:
|
|
/*!********************!*\
|
|
!*** ./example.js ***!
|
|
\********************/
|
|
/***/ function(module, exports, require) {
|
|
|
|
function getTemplate(templateName, callback) {
|
|
require.e/* require */(1, function(require) { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [require(/*! ../require.context/templates */ 1)("./"+templateName)]; (function(tmpl) {
|
|
callback(tmpl());
|
|
}.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));});
|
|
}
|
|
getTemplate("a", function(a) {
|
|
console.log(a);
|
|
});
|
|
getTemplate("b", function(b) {
|
|
console.log(b);
|
|
});
|
|
|
|
/***/ }
|
|
/******/ })
|
|
|
|
```
|
|
|
|
# js/1.output.js
|
|
|
|
``` javascript
|
|
webpackJsonp(1, {
|
|
|
|
/***/ 1:
|
|
/*!********************************************!*\
|
|
!*** ./require.context/templates ^\.\/.*$ ***!
|
|
\********************************************/
|
|
/***/ function(module, exports, require) {
|
|
|
|
var map = {
|
|
"./a": 2,
|
|
"./a.js": 2,
|
|
"./b": 3,
|
|
"./b.js": 3,
|
|
"./c": 4,
|
|
"./c.js": 4
|
|
};
|
|
function webpackContext(req) {
|
|
return require(map[req] || (function() { throw new Error("Cannot find module '" + req + "'.") }()));
|
|
};
|
|
webpackContext.keys = function webpackContextKeys() {
|
|
return Object.keys(map);
|
|
};
|
|
module.exports = webpackContext;
|
|
|
|
|
|
/***/ },
|
|
|
|
/***/ 2:
|
|
/*!****************************************!*\
|
|
!*** ./require.context/templates/a.js ***!
|
|
\****************************************/
|
|
/***/ function(module, exports, require) {
|
|
|
|
module.exports = function() {
|
|
return "This text was generated by template A";
|
|
}
|
|
|
|
/***/ },
|
|
|
|
/***/ 3:
|
|
/*!****************************************!*\
|
|
!*** ./require.context/templates/b.js ***!
|
|
\****************************************/
|
|
/***/ function(module, exports, require) {
|
|
|
|
module.exports = function() {
|
|
return "This text was generated by template B";
|
|
}
|
|
|
|
/***/ },
|
|
|
|
/***/ 4:
|
|
/*!****************************************!*\
|
|
!*** ./require.context/templates/c.js ***!
|
|
\****************************************/
|
|
/***/ function(module, exports, require) {
|
|
|
|
module.exports = function() {
|
|
return "This text was generated by template C";
|
|
}
|
|
|
|
/***/ }
|
|
|
|
})
|
|
```
|
|
|
|
# Info
|
|
|
|
## Uncompressed
|
|
|
|
```
|
|
Hash: f1fb37f49e400b26b20b56805a789ef3
|
|
Time: 40ms
|
|
Asset Size Chunks Chunk Names
|
|
output.js 2403 0 main
|
|
1.output.js 1446 1
|
|
chunk {0} output.js (main) 251
|
|
[0] ./example.js 251 [built] {0}
|
|
chunk {1} 1.output.js 457 {0}
|
|
[1] ./require.context/templates ^\.\/.*$ 217 [built] {1}
|
|
amd require context ../require.context/templates [0] ./example.js 2:1-4:3
|
|
[2] ./require.context/templates/a.js 80 [built] {1}
|
|
context element ./a [1] ./require.context/templates ^\.\/.*$
|
|
context element ./a.js [1] ./require.context/templates ^\.\/.*$
|
|
[3] ./require.context/templates/b.js 80 [built] {1}
|
|
context element ./b [1] ./require.context/templates ^\.\/.*$
|
|
context element ./b.js [1] ./require.context/templates ^\.\/.*$
|
|
[4] ./require.context/templates/c.js 80 [built] {1}
|
|
context element ./c [1] ./require.context/templates ^\.\/.*$
|
|
context element ./c.js [1] ./require.context/templates ^\.\/.*$
|
|
```
|
|
|
|
## Minimized (uglify-js, no zip)
|
|
|
|
```
|
|
Hash: f1fb37f49e400b26b20b56805a789ef3
|
|
Time: 125ms
|
|
Asset Size Chunks Chunk Names
|
|
output.js 855 0 main
|
|
1.output.js 491 1
|
|
chunk {0} output.js (main) 251
|
|
[0] ./example.js 251 [built] {0}
|
|
chunk {1} 1.output.js 457 {0}
|
|
[1] ./require.context/templates ^\.\/.*$ 217 [built] {1}
|
|
amd require context ../require.context/templates [0] ./example.js 2:1-4:3
|
|
[2] ./require.context/templates/a.js 80 [built] {1}
|
|
context element ./a [1] ./require.context/templates ^\.\/.*$
|
|
context element ./a.js [1] ./require.context/templates ^\.\/.*$
|
|
[3] ./require.context/templates/b.js 80 [built] {1}
|
|
context element ./b [1] ./require.context/templates ^\.\/.*$
|
|
context element ./b.js [1] ./require.context/templates ^\.\/.*$
|
|
[4] ./require.context/templates/c.js 80 [built] {1}
|
|
context element ./c [1] ./require.context/templates ^\.\/.*$
|
|
context element ./c.js [1] ./require.context/templates ^\.\/.*$
|
|
```
|
|
|
|
## Graph
|
|
|
|

|