webpack/examples/require.resolve
Tobias Koppers 4c84defbb6 updated examples 2012-08-23 02:05:07 +02:00
..
README.md updated examples 2012-08-23 02:05:07 +02:00
a.js added require.resolve example 2012-07-19 11:48:07 +02:00
build.js added require.resolve example 2012-07-19 11:48:07 +02:00
example.js added require.resolve example 2012-07-19 11:48:07 +02:00
template.md added require.resolve example 2012-07-19 11:48:07 +02:00

README.md

example.js

var a = require("./a");

// get module id
var aId = require.resolve("./a.js");

// clear module in require.cache
delete require.cache[aId];

// require module again, it should be reexecuted
var a2 = require("./a");

// vertify it
if(a == a2) throw new Error("Cache clear failed :(");

a.js

module.exports = Math.random();

js/output.js

/******/(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: {},
/******/			id: moduleId,
/******/			loaded: false
/******/		};
/******/		modules[moduleId](module, module.exports, require);
/******/		module.loaded = true;
/******/		return module.exports;
/******/	}
/******/	require.e = function(chunkId, callback) {
/******/		callback(require);
/******/	};
/******/	require.modules = modules;
/******/	require.cache = installedModules;
/******/	return require(0);
/******/})
/******/({c:"",
/******/0: function(module, exports, require) {

/*** .\example.js ***/

var a = require(/* ./a */1);

// get module id
var aId = (/* ./a.js */1);

// clear module in require.cache
delete require.cache[aId];

// require module again, it should be reexecuted
var a2 = require(/* ./a */1);

// vertify it
if(a == a2) throw new Error("Cache clear failed :(");

/******/},
/******/
/******/1: function(module, exports, require) {

/*** .\a.js ***/

module.exports = Math.random();

/******/},
/******/
/******/})

Info

Uncompressed

Hash: 1ba7e12ebb3bc92128a6075ee0c8ddd5
Compile Time: 21ms
Chunks: 1
Modules: 2
Modules including duplicates: 2
Modules per chunk: 2
Modules first chunk: 2
   output.js:     1342 characters

 <id>    <size>  <filename>
       <reason> from <filename>
output.js
    0       295  .\example.js
       main
    1        31  .\a.js
       require (2x) from .\example.js
       require (1x) from .\example.js

Minimized (uglify-js, no zip)

Hash: be6434e486f1bd019d86a6d85591298e
Compile Time: 68ms
Chunks: 1
Modules: 2
Modules including duplicates: 2
Modules per chunk: 2
Modules first chunk: 2
   output.js:      442 characters

 <id>    <size>  <filename>
       <reason> from <filename>
output.js
    0       116  .\example.js
       main
    1        28  .\a.js
       require (2x) from .\example.js
       require (1x) from .\example.js