Nodejs获得`required`模块的目录

是否有可能确定required脚本的来源目录?

我的最终目标是…

 // return the directory where `mysql` module is found var mysqldir = requiredir('mysql') if(fs.existsSync(mysqldir+"/README.md")){ console.log(fs.readFileSync(mysqldir+"/README.md").toString()) } 

因此,我可以为所有这些模块提供方便的参考,并希望在开明的未来人们将包括旨在以这种方式访问​​的模块文档/备忘单

required.resolve(...)可能是你要找的东西:

 function requiredir(id) { return path.dirname(require.resolve(id)); } 

虽然这将遵循main设定:

 > requiredir('grunt') .../node_modules/grunt/lib/ 

另一种select可能是使用npmview ,尽pipe这仅限于注册的包:

 npm.load({}, function (err) { npm.commands.view(['mysql', 'readme'], true, function (err, readme) { console.log(readme); }); }); 

如果你想确定一个模块的绝对path,你可以使用require.resolve('module')

http://nodejs.org/api/globals.html#globals_require_resolve

您可以通过正则expression式提取文件夹path