我希望能够在不运行 require 的情况下知道 Node 的 require 将解析到什么路径。
例如
var myVar = require('./some_module')
node.js 内部会通过它的 PATH 来判断它是一个目录,一个 js 文件,一个 json 文件等等,然后加载文件。
有没有办法在不实际加载模块的情况下获取完整的解析路径?
我正在寻找的输出类似于
/Users/myUser/awesomeProject/some_module.js
重要的部分是 .js 扩展,因为 Node 必须完全解析路径。
注意:require('path').resolve ...
没有解决这个问题。如果 some_module 实际上是一个目录,里面有一个 package.json 等等。
最佳答案
事实证明 Node 有办法做到这一点!在他们的文档中很难找到。呼唤
require.resolve('./some_module')
正是我要找的东西
这是我在文档中找到的唯一引用:https://nodejs.org/api/modules.html#modules_all_together
关于javascript - 我怎么知道 node.js 需要的完整路径而不运行 require,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39431864/