javascript - 构建后调试 ExtJS 错误

标签 javascript debugging extjs build extjs4

我有一个 ExtJS 应用程序(我现在不包括源代码)。当我在根应用程序目录中运行 Sencha CMD 网络服务器时,一切正常,正如预期的那样。

当我构建应用程序(使用 sencha 应用程序构建)然后在构建目录中运行 Sencha CMD 网络服务器时,我收到错误:

Uncaught TypeError: Cannot read property 'isComponent' of null app.js:1
Ext.cmd.derive.constructor                                     app.js:1
z                                                              app.js:1
(anonymous function)                                           app.js:1

我之前创建的版本运行良好,这是在我最近进行一些更改(新版本)之后发生的。我已经检查了所有正常的嫌疑人(要求等...),一切似乎都井井有条。

我的问题是:您如何调试此类问题,因为它在构建前运行良好?

版本:ExtJS 4.2.1,Sencha CMD 4.0.2.67,Chrome 开发者工具出错

最佳答案

缩小代码之后,调试 ExtJS(或任何其他 Javascript)应用程序没有简单的方法,尽管有一个有几种方法可以帮助您接近问题的根源,

  • 构建您的应用测试模式 sencha 应用构建测试测试版本 是普通版本非压缩 版本,这样您将能够看到人类可读的代码。对于大多数情况,这应该足够了。
  • 美化您的精简源代码。虽然测试构建应该适用于大多数情况,但我遇到过一些测试代码可以工作而发布版本没有的情况。缩小代码美化至少将隔离抛出异常的行,尽管可能很难识别,因为所有注释都将消失并且变量名称会因缩小过程而看起来不同,可能无论如何,您将能够识别您的代码,因为字符串和 Ext 调用不会改变。
  • 您也可以尝试使用 Source Maps(这里有一个关于这个主题的 neat article),您需要将默认的 yui 编译器更改为 closure compiler ,但这不是一个直接的过程,这里是一个 detailed explanation在命令编译器选项上。

我希望这些选项可以为您指明正确的方向。

关于javascript - 构建后调试 ExtJS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22491125/

相关文章:

Javascript 表单验证提交错误

c++ - 为什么 Eclipse 不使用 GDB 的 pretty-print ?

带接口(interface)指针的 Delphi 调试器功能

javascript - 如何在 ExtJS 6 中使用 UX 组件?

javascript - 与桌面浏览器兼容的 HTML5 移动框架

forms - Extjs 无法动态添加/删除表单面板中的字段

javascript - jquery ajax编码问题!

javascript - SASS中基于类名的计算

javascript - 使用 javascript 替换匹配的单词

c - 程序在由 make 启动时运行,而不是通过 shell,为什么?