正确的行为
当我直接从一个函数中调用console.log()
时,在dev-tools控制台中,从哪个函数和文件中调用的堆栈是正确的,与预期相同。
main.js
:
function main() {
// Works correctly
console.log('Hello from main()!');
}
控制台:
Hello from main()! ... main.js:3
我想要什么
现在,当我添加一个名为debug.js
的第二个文件并从那里调用console.log
时,文件来源于我调用的地方是debug.js
,这是正确的...但我需要debug()
记录日志就像它是在main.js
中调用的一样。某种方式,我需要修改调用者、堆栈或跟踪,以欺骗console.log()
认为它是从main.js
中调用的,而实际上是从debug.js
中调用的。
代码
debug.js
:
function debug(msg) {
console.log(msg)
}
main.js
function main() {
debug('Hello world!') // debug() in debug.js
}
行为
当前行为:
Hello world! ... debug.js:2
我想要的行为:
Hello world! ... main.js:3