我正在阅读集群包cluster.js
的文件,这部分让我感到困惑:
fs.readdirSync(__dirname + '/plugins').forEach(function(plugin){
plugin = plugin.replace('.js', '');
exports.__defineGetter__(plugin, function(){
return require('./plugins/' + plugin);
});
});
我知道您可以将对象或函数绑定到exports
对象以将它们公开给不同的文件,但似乎它正在调用已绑定到对象的函数。但是,我一直认为您需要以require
这种方式访问文件和访问功能。这里发生了什么?