Как работает 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, so this === exports?

Поэтому я могу представить, что require () может быть реализован так:

var require = function (file) {
    var exports = {};
    var run = function (file) {
        // include "file" here and run
    };
    run.apply(exports, [file]);
    return exports;
}

Это правильно? Пожалуйста, помогите мне понять require (), или где я могу найти исходный код. Спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос