【问题标题】:Node.js - searching for the "util" module; identify core modulesNode.js - 搜索“util”模块;识别核心模块
【发布时间】:2015-09-29 09:41:13
【问题描述】:

我真的是 Swagger 的节点module 的忠实粉丝,但有一件事让我抓狂:

示例应用包含以下行 (api/controller/hello_world.js):

var util = require('util');

但我只是无法找到这个模块。我试过了

  • npm list 列出它,但什么也没有
  • 使用 Spotlight (util.js) 搜索它

我的问题是:如何在 nodejs 中列出实际加载的模块?

【问题讨论】:

    标签: node.js reflection module require


    【解决方案1】:

    TimWolla's answer 解决了您关于util 模块的特殊问题。

    至于更通用的问题:

    如何列出nodejs中实际加载的模块?

    • This answer 告诉您如何列出当前加载的非核心模块的完整文件名(剧透警告:Object.keys(require.cache)

    • 对于 core 模块 - Node.js 本身附带的模块,例如 util - 我知道没有办法告诉你加载了哪些模块,但是给定它们是核心,它们都可能隐式被加载,据我们所知(并且应该关心)。

    • 也就是说,要测试给定模块是否是核心模块,您可以使用require.resolve(),它按原样返回输入模块名称(而不是一个完整的文件名)在核心模块的情况下;例如:

      require.resolve('util') // -> 'util', i.e. NOT A PATH -> core module
      

    注意:当require.resolve() 返回文件系统路径时,仅暗示该模块是非核心并且可以定位;它确实告诉你该模块当前是否加载(使用require.cache)。

    【讨论】:

      【解决方案2】:

      util 是 node.js 发行版的一部分:https://nodejs.org/api/util.html

      【讨论】:

      • 谢谢,但 mklement0 的回答很笼统。无论如何,谢谢。
      猜你喜欢
      • 1970-01-01
      • 2014-10-12
      • 2016-08-06
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 2017-01-19
      • 2019-11-02
      • 2012-07-31
      相关资源
      最近更新 更多