我希望能够在不运行需求的情况下知道节点需要解析的路径。
例如
var myVar = require('./some_module')
内部node.js将查看其PATH,确定它是否是目录,js文件,json文件等,然后加载文件。
有没有办法在没有实际加载模块的情况下完全解析路径?
我正在寻找的输出类似于
/Users/myUser/awesomeProject/some_module.js
重要的部分是.js扩展,因为节点必须完全解析路径。
注意:require('path').resolve ...
无法解决此问题。如果some_module实际上是一个包含package.json的目录,等等。
答案 0 :(得分:4)
结果节点有办法做到这一点!在他们的文档中找到它并不容易。调用
require.resolve('./some_module')
给了我正是我正在寻找的东西
以下是我在文档中找到的唯一参考:https://nodejs.org/api/modules.html#modules_all_together