gpt4 book ai didi

javascript - 获取javascript中函数声明的路径

转载 作者:行者123 更新时间:2023-11-29 15:12:50 26 4
gpt4 key购买 nike

例如给定

// foo.js
function bar() {
...
}

我怎样才能实现这样的功能

function getPathOf(func) {
return ...
}
console.log(getPathOf(foo.bar)) // Prints: "foo.js:1:1"

也就是说,如何获取给定函数的源文件路径、行号、列号。

我知道 Function.name 给出了一个函数的名称,我已经看到诸如 chai.js 之类的断言库在打印堆栈跟踪时打印函数的路径。

最佳答案

唯一暴露当前行号和文件的表达式是new Error:

 console.log((new Error()).stack);

这就是库生成堆栈跟踪的方式,没有其他方法可以获取它。


我猜是这样的:

 fs.readFileSync("foo.js").indexOf(func.toString())

可能会以某种方式工作,但那只是丑陋而且没有任何实际用途。

关于javascript - 获取javascript中函数声明的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52582595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com