我需要一个通过npm安装的模块.我想访问一个数据库.js文件从属于该模块(因此我可以在其中对构造函数方法进行子类化).我不能(嗯,我不想)修改模块的代码,所以没有地方提取它的_dirname.

我知道下面的问题,但它是关于获得一个模块的路径,一个有代码控制的模块(因此,_dirname是解决方案):

~~~

更好的方法是获取模块加载的模块信息

推荐答案

如果我正确理解你的问题,你应该使用require.resolve():

使用内部require()机制查找模块的位置,而不是加载模块,只需返回解析后的文件名即可.

示例:var pathToModule = require.resolve('module');

Node.js相关问答推荐

当FastifyJS向客户端发送响应时,apache 不会将其发送给他

自动将Selify打开的Chrome窗口移动到Mac OS中的第三个显示器

在Android Studio中react 本机构建失败:未正确检测到Node.js版本

如何在MongoDB中更新嵌套数组

设置默认 node 版本

是否可以在MongoDB中比较和匹配引用文档中的字段

Node fetch 实现似乎与 Deno 和 Bun 不同,导致网站没有返回响应?

如何使用填充在mongoose 上保存新数据

访问 Mongoose 查询之外的变量

将已保存的卡片从条带显示到前端

为什么我在生产环境中 deproy Next.js 示例项目时 CSS 不起作用?

`npm install` 以Killed结尾

node_modules 中 .bin 文件夹的用途是什么?

bash:npm:找不到命令?

在 ExpressJS 中将变量传递给 JavaScript

TypeError:winston.Logger 不是带有winston 和morgan 的构造函数

在 Node 中连接和缩小 JS 文件

Node.js:如何附加到正在运行的进程并使用控制台调试服务器?

yarn 和 npm 的主要区别是什么?

如何创建安全(TLS/SSL)Websocket 服务器