Javascript 如何在dojo中获取当前文件名

Javascript 如何在dojo中获取当前文件名,javascript,dojo,Javascript,Dojo,如何使用dojo获取当前文件名。 我有一个javascript文件,我的断点在该文件中。我想知道文件名。 使用dojo或javascipt,我想得到这个文件的名称 任何帮助都将不胜感激 谢谢如果您使用的是AMD(Dojo 1.7+),您可以从特殊的模块模块获取当前模块的模块ID: define(['module'],函数(module){ console.log(module.id); }); 如果使用传统Dojo模块,则不会提供当前正在执行的脚本的文件名,并且无法通过跨浏览器方式检索,因为它

如何使用dojo获取当前文件名。 我有一个javascript文件,我的断点在该文件中。我想知道文件名。 使用dojo或javascipt,我想得到这个文件的名称

任何帮助都将不胜感激 谢谢

如果您使用的是AMD(Dojo 1.7+),您可以从特殊的
模块
模块获取当前模块的模块ID:

define(['module'],函数(module){
console.log(module.id);
});

如果使用传统Dojo模块,则不会提供当前正在执行的脚本的文件名,并且无法通过跨浏览器方式检索,因为它们是使用XHR和
eval

加载的。Dojo/tests/_base/loader/moduleIds.js中有这样一个示例:

function get(mid, refmod){
    return require.getModuleInfo(mid, refmod, require.packs, require.modules, "../../dojo/", require.mapProgs, require.pathsMapProg, 1);
}
我在我的一个模块中尝试了以下操作:

require.getModuleInfo("my/Module", null, require.packs, require.modules, "../../dojo/", require.mapProgs, require.pathsMapProg, 1).url
这解析了包含模块代码的javascript文件的路径

这也有效:

require.modules["my/module"].url

这些属性不打算由最终用户代码访问,只有当
dojo publish privates
has标志为truthy时才可用。它们用于调试、测试和生成。有没有一种方法可以在不处于调试模式的情况下将模块名称解析为URL?