【问题标题】:Retrieve the current javascript file name and line number检索当前的 javascript 文件名和行号
【发布时间】:2014-01-19 11:04:03
【问题描述】:

是否有访问脚本当前文件名的标准方法?

C++PHP 中是否有类似 __FILE____LINE__ 的内容。

如果没有执行此操作的标准方法,有哪些工具可以将此类功能添加到 .js 文件(预处理)?

我不是在寻找browser specific solutions(即ReferenceError: document is not defined

【问题讨论】:

  • 不,没有标准的方法可以做到这一点,因为它主要被认为是无用的,当你在代码中需要当前文件的文件名时,99% 的时间你做错了.
  • 我不知道有什么方法可以在javascript中做到这一点,但是通过注入一个变量服务器端很容易实现

标签: javascript introspection ecmascript-5


【解决方案1】:

如果你使用 NodeJS,你可以使用 __filenamemodule.filename,但是在浏览器中,你不能。

【讨论】:

    【解决方案2】:

    我不确定你使用的是什么,但在 node.js 中你可以这样做

    file.js

    var path = require("path");
    console.log(path.basename(__filename));
    // => file.js
    

    但在浏览器中没有方法可以做到这一点。

    【讨论】:

    • 大多数时候脚本在 node.js 之外使用,但我可以在 node 中运行大多数测试并从中受益。谢谢!
    【解决方案3】:

    是的,php 中有__FILE__。 您可以使用 basename(__FILE__, ".php") 来 有文件名,如果需要,可以切断扩展名。

    【讨论】:

    • OP 知道这一点。他们询问 JavaScript 中是否存在等价物。
    猜你喜欢
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 2012-05-15
    • 2015-06-03
    • 2010-12-27
    相关资源
    最近更新 更多