Как работает 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 () или где я могу найти исходный код. Спасибо!

71
задан Trantor Liu 28 February 2012 в 02:56
поделиться

1 ответ

Я рою немного больше nodejs источника code/2/и делаю диаграмму последовательности/1/, надеюсь, что это могло дать Вам интуитивный обзор. Существует другая статья http://fredkschott.com/post/2014/06/require-and-the-module-system/ , которые также объясняют требование () механизм в простом способе, проходят эту статью, сначала мог помочь Вам понять схему быстро. enter image description here

Касательно:

/1/схематически изображают источник repo: https://github.com/z1yuan/nodejs.git

/2/https://github.com/nodejs/node-v0.x-archive.git

0
ответ дан 24 November 2019 в 13:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: