require()在node.js中是如何工作的?

8 浏览
0 Comments

require()在node.js中是如何工作的?

我尝试了这个代码:

// mod.js

var a = 1;

this.b = 2;

exports.c = 3;

// test.js

var mod = require('./mod.js');

console.log(mod.a); // undefined

console.log(mod.b); // 2

console.log(mod.c); // 3, 所以 this === exports?

所以我想require()可能是这样实现的:

var require = function (file) {

var exports = {};

var run = function (file) {

// 在这里包含并运行 "file"

};

run.apply(exports, [file]);

return exports;

}

是这样的吗?请帮助我理解require(),或者告诉我在哪里可以找到源代码。谢谢!

0