我需要一个通过npm安装的模块.我想访问一个数据库.js文件从属于该模块(因此我可以在其中对构造函数方法进行子类化).我不能(嗯,我不想)修改模块的代码,所以没有地方提取它的_dirname.
我知道下面的问题,但它是关于获得一个模块的路径,一个有代码控制的模块(因此,_dirname是解决方案):
~~~
更好的方法是获取模块加载的模块信息
我需要一个通过npm安装的模块.我想访问一个数据库.js文件从属于该模块(因此我可以在其中对构造函数方法进行子类化).我不能(嗯,我不想)修改模块的代码,所以没有地方提取它的_dirname.
我知道下面的问题,但它是关于获得一个模块的路径,一个有代码控制的模块(因此,_dirname是解决方案):
~~~
更好的方法是获取模块加载的模块信息
如果我正确理解你的问题,你应该使用require.resolve():
使用内部require()机制查找模块的位置,而不是加载模块,只需返回解析后的文件名即可.
示例:var pathToModule = require.resolve('module');