【问题标题】:Debugging ExtJS errors after build构建后调试 ExtJS 错误
【发布时间】:2014-03-18 21:09:49
【问题描述】:

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

当我构建应用程序(使用 sencha app build)然后在构建目录中运行 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 开发者工具出错

【问题讨论】:

  • 尝试使用 Sencha CMD 构建应用程序,然后将构建部署到 tomcat/apache 服务器中。

标签: javascript debugging extjs build extjs4


【解决方案1】:

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

  • 构建您的应用程序测试模式sencha app build testing测试构建是普通构建非缩小版本,您将能够以这种方式查看人类可读的代码。对于大多数情况,这应该足够了。
  • 美化您的缩小的源代码。尽管测试构建应该适用于大多数情况,但我经历过一些测试代码有效而发布版本无效的情况。缩小的代码美化至少将隔离引发异常的行,尽管它可能难以识别,因为所有 cmets 都将消失,变量名称会因缩小过程而看起来不同,可能由于字符串和 Ext 调用不会改变,因此您无论如何都可以识别您的代码。
  • 您也可以尝试使用 Source Maps(这里有一个 neat article 主题),您需要将默认的 yui 编译器更改为 closure compiler ,但这不是一个简单的过程,这里有一个关于命令编译器选项的detailed explanation

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

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 2016-02-15
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    相关资源
    最近更新 更多