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