我有一些在特定javascript文件中触发的console.log打印。此文件知道其他文件,并在console.log打印中引用这些文件名。我想知道是否有一种方法可以在同一个console.log打印出来打印某个源文件的链接,有希望的行为点击链接会在开发工具中打开该文件的源视图?
答案 0 :(得分:1)
通过尝试@miir的解决方案可以发现:
1)只要您输入完整路径,就链接到文件
console.log("http://localhost:8000/myapp/path/to/file.js")
console.log(document.currentScript.src); // if executed from within a script
2)手动链接到文件+行+字符
const line = "83";
const character = "2";
console.log(document.currentScript.src + ":" + line + ":" + character);
3)动态链接到文件+行+字符
const level = 1; // 1 is last stack trace, you can go up the calling functions up to 4
console.log(new Error().stack.split("\n")[level].match(/http[^\)]+/)[0]);
没有什么可以从公认的答案中找出来的,但也许可以帮助新来的人。
答案 1 :(得分:0)
在回答这个问题时,没有直接的方法可以做到这一点。
然而,@ Emissary在下面的评论中指出,访问文件链接的解决方法是利用Error对象的能力。
console.log(new Error().stack)