我主要使用 Ruby 编写代码,但偶尔需要浏览器前端的 javascript 并使用 Chrome 控制台调试 javascript 代码。
有时很难理解是哪一行代码产生了输出,我必须在该行的右端交叉检查以查看行号,如果内容很多,这并不容易,而且这个行号并不总是与源文件中的行,使用模板时通常会有偏移。
在 Ruby 中,您有 __FILE__
常量,它包含源代码文件路径和 __LINE__
常量,其中包含正在执行的代码的行号。
所以 p [__LINE__, "what i want to view"]
给了我行号,然后是“我想查看的内容”。是否有 javascript/Chrome 等效项?
暂时我用
console.log(20, "what I want to view")
对于第 20 行的代码,但您可以想象必须进行大量更改。
最佳答案
Is there a javascript/Chrome equivalent ?
恐怕没有等效项。它只是不存在。当您使用 console.xyz
时,您提到的行号是 devtools 自动记录的,恐怕是您最接近的行号。
For the moment I use
console.log(20, "what I want to view")
for code on line 20 but you can imagine that has to be changed a lot.
FWIW,与其使用(如您所说)需要更改的行号,不如考虑使用不需要更改但很容易找到的标记,例如:
console.log("*A*", "what I want to view");
不需要更新那么多。
当然,很可能有做得更好的日志记录框架。或者,为您的 JavaScript 文件编写一个预处理器,将 __FILE__
和 __LINE__
替换为文件名和行号......(或者也许Babel plugin ,虽然 __FILE__
可能很棘手;解析阶段保留行号,但由于它可能甚至不知道源来自哪个文件,或者即使它来自文件 [as反对其他工具的输出]...)
关于Javascript 等价于 Ruby 的 __LINE__ 和 __FILE__ 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48882791/