闭包编译器--调试解决了我的错误
Closure compiler --debug solves my bug
所以调试似乎有了新的意义,至少在闭包编译器中是这样。
我有一个相当大的代码库,隔离问题是一项艰巨的任务。在我的入口点类中,我实例化依赖项。其中一个没有正确创建,对象在那里,但它的构造函数没有被调用。
这只发生在ADVANCED模式下,所以我尝试传递--debug标志,瞧,bug消失了,构造函数被调用了。这真是令人震惊。我不能复制粘贴任何特定的代码,你有什么建议?
/**
* @param {Element} parent
* @param {Object} opts
* @constructor
*/
ns.App = function(parent, opts) {
this.options = new ns.Options(opts || {});
var w = this.options.width || parent.offsetWidth;
var h = this.options.height || parent.offsetHeight;
this.view = new ns.AppView(w, h);
this.history = new ns.CommandManager();
// ....
// this one doesn't get called
this.amx_ = new ns.ActivityManager(this, this.options);
// this one does
this.output_ = new ns.Writer();
this.bind_();
};
使用Closure编译器,当调试标志使错误消失时,通常表明存在重命名冲突。这可能是由于在外部定义的对象上设置属性而导致的,该对象的属性没有完全定义给编译器。编译器将您的属性重命名为与现有属性相同的名称。
这也可能是由于使用点式语法(obj.prop
)引用属性而导致的,在点式语法中,属性是使用引号(obj['prop']
)声明的。根据定义,编译器将这些视为不同的属性。
请确保打开--warning_level VERBOSE
以帮助识别访问未定义的属性。尽管你的特殊情况仍有可能得不到认可。
相关文章:
- 闭包编译器--调试解决了我的错误
- 有人能发现我的错误吗(自动完成文本框)
- Java脚本,需要帮助查找我的错误
- 从引导框架发送电子邮件 我的错误是我收到一条消息是邮件已成功发送,但我没有收到任何邮件
- 为什么我的猫头鹰旋转木马在我的第一组中不起作用?请问我的错误在哪里
- 显示/隐藏马尔坎 有人指出我的错误
- 我的错误处理程序如何优先于早期的中间件
- Javascript:奇数或偶数脚本找不到我的错误
- 我打开新窗口的代码没有效果.有人能认出我的错误吗
- 什么'这是我的错误代码
- Javascript-我可以'我没有发现我的错误.(单选按钮)
- 从属YII输入框?我的错误在哪里?如何在dropDownList中添加Onchange事件?而无需使用控制器
- 可以't删除事件侦听器,不理解我的错误
- 为什么我的错误消息不起作用
- IE兼容模式阻止我得到我的错误信息
- 为什么node.js不能捕捉到我的错误?
- 不能找到我的错误在我的HTML代码,为javascript测验
- 哪里是我的错误使用JavaScript和jQuery
- 我的错误在哪里?未捕获的SyntaxError: missing)参数列表后
- AngularJS -当触发器变量在作用域中改变时,我的错误消息不会更新