相当于Ruby的__LINE__和__FILE__常量

时间:2018-02-20 10:14:46

标签: javascript ruby google-chrome

我主要使用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行的代码,但你可以想象必须经常改变。

1 个答案:

答案 0 :(得分:1)

  

是否有javascript / Chrome等价物?

我害怕没有相应的东西。它只是不存在。当你使用console.xyz时,devtools自动记录的你引用的行号是我最害怕的。

  

目前我使用

console.log(20, "what I want to view")
     

对于第20行的代码,但你可以想象必须经常改变。

FWIW,而不是使用(如您所说)需要更改的行号,请考虑使用不需要更改但很容易找到的标记,例如:

console.log("*A*", "what I want to view");

这不需要更新。

当然,可能会有更好的工作日志框架。或者为您的JavaScript文件编写一个预处理器,将__FILE____LINE__替换为文件名和行号...(或许是Babel plugin虽然__FILE__可能很棘手;解析阶段保留行号,但因为它甚至不知道源来自哪个文件,或者即使它来自文件[而不是另一个工具的输出] ...)