【发布时间】:2017-08-31 23:20:49
【问题描述】:
标题几乎说明了我需要做的事情。
我在 node_modules 中有一个模块,可以将某些内容打印到标准输出(我不希望这种情况发生),但我找不到需要此文件的位置。
我可能误解了模块是如何包含的,因为我认为它们必须是必需的才能执行。
【问题讨论】:
-
在你的模块中设置一个断点并查看调用堆栈以查看调用
require()来加载你的模块。
标题几乎说明了我需要做的事情。
我在 node_modules 中有一个模块,可以将某些内容打印到标准输出(我不希望这种情况发生),但我找不到需要此文件的位置。
我可能误解了模块是如何包含的,因为我认为它们必须是必需的才能执行。
【问题讨论】:
require() 来加载你的模块。
有多种方法可以将内容写入输出。如果它只是使用console.log(),只需交换跟踪。在您的 require() 声明之前:
console.log = console.trace;
然后,每次有日志时,您都会得到完整的跟踪输出。
【讨论】:
使用这个console.log 模组:
let old = console.log;
console.log = function(){
return old.apply(this,[].slice.apply(arguments).concat([(new Error()).stack.split(/\n/)[2].trim()]));
}
如果你尝试:
console.log('I am trackable!')
你会得到输出:
I am trackable! at test (/path/solution.js:5:9)
狩猎愉快!
【讨论】: