如何在不运行require的情况下知道node.js的完整路径

时间:2016-09-11 00:46:13

标签: javascript node.js file

我希望能够在不运行需求的情况下知道节点需要解析的路径。

例如

var myVar = require('./some_module')

内部node.js将查看其PATH,确定它是否是目录,js文件,json文件等,然后加载文件。

有没有办法在没有实际加载模块的情况下完全解析路径?

我正在寻找的输出类似于

/Users/myUser/awesomeProject/some_module.js

重要的部分是.js扩展,因为节点必须完全解析路径。

注意:require('path').resolve ...无法解决此问题。如果some_module实际上是一个包含package.json的目录,等等。

1 个答案:

答案 0 :(得分:4)

结果节点有办法做到这一点!在他们的文档中找到它并不容易。调用

require.resolve('./some_module')

给了我正是我正在寻找的东西

以下是我在文档中找到的唯一参考:https://nodejs.org/api/modules.html#modules_all_together