webpack/examples/loader/README.md

156 lines
3.5 KiB
Markdown
Raw Normal View History

2012-03-27 06:00:51 +08:00
# example.js
``` javascript
// Polyfill require for node.js usage of loaders
require = require("../../require-polyfill")(require.valueOf());
// use our loader
console.dir(require("./loader!./file"));
// use buildin json loader
console.dir(require("./test.json")); // default by extension
console.dir(require("json!./test.json")); // manual
```
# file.js
``` javascript
exports.foo = "bar";
```
# loader.js
``` javascript
2012-04-05 21:08:49 +08:00
module.exports = function(content) {
return "exports.answer = 42;\n" + content;
2012-03-27 06:00:51 +08:00
}
```
# test.json
``` javascript
{
"foobar": 1234
}
```
# js/output.js
``` javascript
/******/(function(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: {}
/******/ };
/******/ modules[moduleId](module, module.exports, require);
/******/ return module.exports;
/******/ }
/******/ require.ensure = function(chunkId, callback) {
/******/ callback(require);
/******/ };
2012-05-17 18:47:06 +08:00
/******/ require.modules = modules;
2012-03-27 06:00:51 +08:00
/******/ return require(0);
/******/})
/******/({
/******/0: function(module, exports, require) {
2012-04-05 20:59:01 +08:00
/******/ /* WEBPACK FREE VAR INJECTION */ (function(console) {
2012-03-27 06:00:51 +08:00
// Polyfill require for node.js usage of loaders
require = require(/* ../../require-polyfill */4)(require.valueOf());
2012-03-27 06:00:51 +08:00
// use our loader
2012-04-05 20:59:01 +08:00
console.dir(require(/* ./loader!./file */3));
2012-03-27 06:00:51 +08:00
// use buildin json loader
console.dir(require(/* ./test.json */2)); // default by extension
console.dir(require(/* json!./test.json */2)); // manual
/******/ /* WEBPACK FREE VAR INJECTION */ }(require(/* __webpack_console */1)))
2012-03-27 06:00:51 +08:00
/******/},
/******/
/******/1: function(module, exports, require) {
2012-04-05 20:59:01 +08:00
var console = 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() {};
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);
};
2012-03-27 06:00:51 +08:00
/******/},
/******/
/******/2: function(module, exports, require) {
module.exports = {
"foobar": 1234
}
2012-03-27 06:00:51 +08:00
/******/},
/******/
/******/3: function(module, exports, require) {
2012-04-05 21:08:49 +08:00
exports.answer = 42;
exports.foo = "bar";
2012-03-27 06:00:51 +08:00
/******/},
/******/
/******/4: function(module, exports, require) {
// No polyfill needed when compiled with webpack
module.exports = function(r){return r}
2012-03-27 06:00:51 +08:00
/******/},
/******/
/******/})
```
2012-03-27 10:23:11 +08:00
# Console output
Prints in node.js (`node example.js`) and in browser:
```
{ answer: 42, foo: 'bar' }
{ foobar: 1234 }
{ foobar: 1234 }
```
2012-03-27 06:00:51 +08:00
# Info
## Uncompressed
```
2012-05-17 18:47:06 +08:00
Hash: 9bbcdcb6e0748e6523fa958925025d6e
2012-03-27 06:00:51 +08:00
Chunks: 1
Modules: 5
Modules including duplicates: 5
Modules pre chunk: 5
Modules first chunk: 5
2012-05-17 18:47:06 +08:00
output.js: 2126 characters
<id> <size> <filename>
<reason> from <filename>
2012-03-27 06:00:51 +08:00
output.js
2012-05-17 18:47:06 +08:00
0 341 .\example.js
2012-03-27 06:00:51 +08:00
main
1 420 (webpack)\buildin\__webpack_console.js
2012-04-05 20:59:01 +08:00
require (3x) from .\example.js
2 36 (webpack)\~\json-loader!.\test.json
require (1x) from .\example.js
2012-04-05 20:59:01 +08:00
require (1x) from .\example.js
3 41 .\loader.js!.\file.js
2012-04-05 20:59:01 +08:00
require (1x) from .\example.js
2012-05-17 18:47:06 +08:00
4 88 (webpack)\require-polyfill.web.js
2012-04-05 20:59:01 +08:00
require (1x) from .\example.js
2012-03-27 06:00:51 +08:00
```