获取当前JavaScript文件的名称和行号

5

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

类似于C++PHP中的__FILE____LINE__之类的东西是否存在。

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

我不需要特定于浏览器的解决方案(即ReferenceError:document未定义


1
不,没有标准的方法来做到这一点,因为它主要被认为是无用的。当你需要在代码中获取当前文件的文件名时,99%的情况下你正在做一些错误的事情。 - adeneo
1
我不知道在JavaScript内部实现这个的方法,但是通过在服务器端注入一个变量来实现这个功能非常容易。 - norlesh
3个回答

4

我不确定你正在使用什么,但在Node.js中可以这样做:

file.js

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

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


大多数情况下,脚本是在node.js之外使用的,但我可以在node中运行大多数测试并从中受益。谢谢! - Coyote

2

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


-5

在 PHP 中有 __FILE__。 如果你想要获取文件名并去除扩展名,可以使用 basename(__FILE__, ".php")。


4
OP知道这个。他们问是否存在JavaScript的等效物。 - Dennis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接