我尝试了这个:
// 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()
,或者告诉我在哪里可以找到源代码。谢谢!
require
,同时也定义了require
。在只看源代码的情况下,我发现这个操作有点难以理解。 - polkovnikov.phrequire
作为该函数的参数之一传递。 - Andrey Sidorov