Node.js – search“util”模块; 确定核心模块

我真的是Swagger节点模块的忠实粉丝,但有一件事让我发疯:

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

 var util = require('util'); 

但是我找不到这个模块。 我尝试过了

  • 列出它与npm list但没有
  • 用Spotlightsearch它( util.js

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

       

网上收集的解决方案 "Node.js – search“util”模块; 确定核心模块"

TimWolla的答案可以解决您在util模块方面的特殊问题。

至于更一般的问题:

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

  • 这个答案告诉你如何列出当前加载的非核心模块的全部文件名 (扰stream警报: Object.keys(require.cache)

  • 对于核心模块 – Node.js本身附带的模块,例如util ,我不知道这个模块会告诉你哪些是加载的,但是假设它们是核心的 ,它们都可以隐式加载我们知道(应该关心)。

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

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

注意:当require.resolve()返回一个文件系统path时,其含义仅仅是该模块是非核心的并且可以被定位 ; 它不会告诉你该模块是否被加载 (使用require.cache )。

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