node.js中是否有一个函数可以为我提供所有当前加载的模块 - 甚至更好的是它们的文件名?
我想在加载的模块更新后立即重启我的进程,因此需要知道需要监视哪些文件的更改...
答案 0 :(得分:13)
检查module
模块源。你的答案是:
Object.keys(require('module')._cache);
答案 1 :(得分:8)
自Node.js v0.3.0起,require.cache
包含已加载的非核心模块:
Object.keys(require.cache); # lists full filenames of loaded non-core modules
与require.cache
不同,module._cache
的优势在于记录。
注意:
util
等核心模块未显示在require.cache
中。
require.resolve(<name>)
:如果它返回<name>
,即仅返回模块 name 本身,则模块为核心模块;非核心模块将返回其完整文件名。 require.cache
包含所有当前加载的非核心模块的哈希值module
个实例,以其完整文件名为基础。