记录javascript模块名称
我希望能够记录我的模块初始化,看看会发生什么。是否有方法获取模块名称空间并将其记录到控制台记录javascript模块名称,javascript,jquery,Javascript,Jquery,我希望能够记录我的模块初始化,看看会发生什么。是否有方法获取模块名称空间并将其记录到控制台 (function($, bis, window, document, undefined) { "use strict"; //other app code bis.library = bis.library || function(module) { $(function() { if (module.init) {
(function($, bis, window, document, undefined) {
"use strict";
//other app code
bis.library = bis.library || function(module) {
$(function() {
if (module.init) {
module.init();
//how can I make it log the module namespace
console.log('module' + module.toString() + 'initialized');
}
});
return module;
};
//other app code
})(jQuery, window._bis = window._bis || {}, window, document);
我的模块定义示例
(function($, bis, window, document, undefined) {
"use strict";
var common = bis.common,
urls = bis.urls,
defaults = bis.defaults,
createWorklist = bis.createWorklist,
editWorklist = bis.editWorklist,
editMoveBoxesWorklist = bis.editMoveBoxesWorklist;
bis.worklist = bis.worklist || bis.library((function() {
// module variables
var init = function() {
//module init code
};
//other module code
return {
init: init
};
})());
})(jQuery, window._bis = window._bis || {}, window, document);
因此,我希望console.log行记录以下文本“module bis.worklist initialized”,例如。我按照Pointy的建议做了。我已经在模块中添加了一个name属性,只需使用
console.log(module.name);
您不能这样做,因为没有与模块包装器函数关联的名称。当然,您可以扩展API,以便模块可以显式传递标识字符串。我之所以这样问,是因为我的调试器在调试过程中悬停init方法时知道名称空间,所以我认为这应该是可能的。调试器可以使用源代码执行静态分析。这种信息对于JavaScript代码本身是不可用的。