javascript - 我怎么知道 node.js 需要的完整路径而不运行 require

标签 javascript node.js file

我希望能够在不运行 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/

相关文章:

javascript - 如何从 android.app.Activity 调用 Ionic

node.js - 尝试从 DocumentDb 删除文档时出现错误请求错误

java - 用另一个 ArrayList 中的随机字符串替换 ArrayList 中的特定字符串

javascript - Laravel 5,4 JavaScript 函数与 ajax

javascript - JavaScript 进度条无限加载的问题

javascript - Object.assign 没有按预期工作

node.js - Node.js>在将数据写入文件的同时以只读模式打开.csv文件

c# - 如何在 c sharp 中同时通过 tcp 发送多个文件?

java - 我应该用什么文件名来测试我的应用程序?

javascript - 我如何解析文档并删除除匹配和 ID 及其子项之外的所有元素