Javascript 等价于 Ruby 的 __LINE__ 和 __FILE__ 常量

标签 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 行的代码,但您可以想象必须进行大量更改。

最佳答案

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/

相关文章:

ruby-on-rails - 如何在不丢失旧密码的情况下正确地从 has_secure_password 迁移到 encrypted_pa​​ssword(因为两者都使用 password_digest)?

ruby-on-rails - 由于格式错误, Controller 未在 Rails 中建立关联

ruby-on-rails - 在 Rails 中用 'any' 查询 'where' 值

java - Webstorm调试问题

google-chrome - 在数据 URL 中,资源解释为文档,但使用 MIME 类型 application/pdf 进行传输

javascript - Node : Know when all http requests are finished

javascript - 谷歌打包应用原生消息

javascript - 未捕获的语法错误 : Unexpected token : in chrome

javascript - .append() 一个元素,click() 没有注册

javascript - 在 "Username"和 "Password"中显示文本,直到用户开始输入