看了阮叔的require()源码解读,对nodejs的模块机制有了大概的了解。
不过有个问题,比如说写个模块,路径为path,直接在命令行输入node path是可以执行的
var tool = require('./tool');
exports.add = function(a,b){
return a+b;
}
console.log(module.id);
那么这个模块的require、exports、module是哪来的?
如果没有明白我的意思,我再多做一点解释:
根据阮叔在文章中的解读,之所以通过require加载的模块可以使用require、exports、module,是因为:
(function (exports, require, module, __filename, __dirname) {
// 模块源码
})(...)
也就相当于注入了require、exports、module,他们不是凭空而来的。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为你引用了nodejs