我正在尝试为node.js编写一个调试框架,并且很难弄清楚如何获得像fs.js
这样的核心模块文件的完整路径。
我听说它位于节点安装的/lib
文件夹中,但是我需要以一致的方式从代码中获取这些内容以适应各种安装情况(包括Windows)。
我已尝试查看process
和process.env
值,例如节点安装路径,但看不到任何立即突然出现的内容。
答案 0 :(得分:13)
要查找已安装的节点可执行文件的位置,您可以查看 process.execPath ,它提供了Node可执行文件的绝对路径。
要查找某个模块的位置,您可以使用require.resolve(模块);
但是我认为全局模块不能像其他常规模块那样直接从文件系统访问,因为它们似乎被缓存在可执行文件的某个地方。