当前加载的node.js模块列表?
在node.js中是否有一个函数给我所有当前加载的模块 – 甚至更好,他们的文件名?
一旦加载的模块得到更新,我想重新启动我的过程,所以需要知道哪些文件需要监视更改…
检查module
模块的来源。 你的答案是:
Object.keys(require('module')._cache);
为了补充Anatoliy的有用答案 :
由于Node.js v0.3.0, require.cache
包含加载的非核心模块:
Object.keys(require.cache); # lists full filenames of loaded non-core modules
require.cache
的优点在于它被logging ,不像module._cache
。
注意:
-
核心模块(如
util
不会显示在require.cache
。- 要testing某个模块是否为核心模块,请使用
require.resolve(<name>)
:如果返回<name>
,即仅模块名称本身,则模块为核心; 非核心模块将返回其完整的文件名。
- 要testing某个模块是否为核心模块,请使用
-
require.cache
包含所有当前加载的非核心模块的散列作为module
实例,以其全名作为键。