Node.js Module Resolution by visual example
-
Upload
jeff-kunkle -
Category
Technology
-
view
826 -
download
4
description
Transcript of Node.js Module Resolution by visual example
Altamira
Node.js Module Resolution
Jeff Kunkle
April 19, 2012
Path Resolution
require(“./mymodule.js”);
1
mymodule.js
/projects/preso/
main.js
require(“./mymodule.js”);
require(“./mymodule”);
2
/projects/preso/
main.js
require(“./mymodule”);
mymodule.js
/projects/preso/
main.js
require(“./mymodule”);
mymodule.js
/projects/preso/
mymodule.json
main.js
require(“./mymodule”);
mymodule.js
/projects/preso/
mymodule.json
mymodule.node
main.js
require(“./mymodule”);
require(“./mymodule”);
/projects/preso/
main.js
mymodule/
package.json
init.js
require(“./mymodule”);
mymodule/
/projects/preso/
index.js
main.js
require(“./mymodule”);
mymodule/
/projects/preso/
index.node
main.js
require(“mymodule”);
3
require(“mymodule”);
node_modules/
/usr/local/node/lib/
index.js
mymodule/
* assuming mymodule was a core Node.js module
require(“mymodule”);
node_modules/
/projects/preso/
index.js
main.js
mymodule/
require(“mymodule”);
node_modules/
/projects/
index.js
main.js
mymodule/
preso/
require(“mymodule”);
node_modules/
/
index.js
main.js
mymodule/
projects/
preso/
require(“mymodule”);
Global load paths also exist,but don’t use them.
Dependency Resolution Magic!
A
B
Cv1.0
v2.0
a/
node_modules/
c/
b/
node_modules/
c/
b.js
a.js
c.js
c.js
./node_modules/
v1.0
v2.0
a/
b/
b.js
a.js
./node_modules/
c/
c.js
Jeff Kunkle@kunklejr