Node.js – search“util”模块; 确定核心模块
我真的是Swagger节点模块的忠实粉丝,但有一件事让我发疯:
示例应用程序包含以下行( api/controller/hello_world.js
):
var util = require('util');
但是我找不到这个模块。 我尝试过了
- 列出它与
npm list
但没有 - 用Spotlightsearch它(
util.js
)
我的问题是:如何列出在nodejs中实际加载的模块?
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