如何解决node.js中的require如何工作?
源代码在这里。exports
/require
不是关键字,而是全局变量。你的主要脚本包前开始在其拥有所有喜欢全局的功能require
,process
等在其上下文。
请注意,虽然module.js本身正在使用require()
,但这是一个不同的require函数,它是在名为“
node.js”的文件中定义的
上面的副作用:在模块的中间(不属于任何函数)有“ return”语句,可以有效地“注释”其余代码,这是完全可以的
解决方法
我尝试了这个:
// 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()或在哪里可以找到源代码。谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。