【问题标题】:How to obtain location of the code being executed in Nodejs如何获取 Nodejs 中正在执行的代码的位置
【发布时间】:2016-05-12 12:53:37
【问题描述】:

尝试创建一个记录器 javascript 类,我将其作为 require() 添加到其他 javascript 文件中。该记录器的功能之一应该是,它将当前正在运行的脚本写入控制台。

我认为它会执行的方式是,我的记录器中有一个 path.basename(__Filename) 函数,但是我将如何定位执行记录器脚本的脚本的文件名?

【问题讨论】:

  • 当您需要记录器时,您应该将文件名作为参数传递。

标签: javascript node.js logging


【解决方案1】:

没有办法知道脚本本身在哪个文件中,因为浏览器在加载页面时会加载 DOM 下的所有脚本。

function xyz(){
    console.log(arguments.callee.toString().match(/function ([^\(]+)/)[1]);
}

只要函数以函数 xyz(){} 格式声明,这应该会为您提供被调用函数的名称。在这种情况下 xyz。

【讨论】:

  • 这不是更好吗:arguments.callee.name
猜你喜欢
  • 1970-01-01
  • 2011-06-13
  • 2011-07-30
  • 2018-11-18
  • 1970-01-01
  • 2017-12-06
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多