【问题标题】:ExtJS app gives variables undefined error after sencha cmd app buildExtJS 应用程序在 sencha cmd 应用程序构建后给出变量未定义错误
【发布时间】:2018-10-16 13:03:13
【问题描述】:

我们有一个现有的ExtJS 应用程序,在未缩小或合并到单个捆绑文件时可以完美运行。

在我们运行 sencha app build 命令并创建了一个app-all.js 文件后,一些屏幕无法像以前那样工作并给出错误:

无法读取未定义的属性“xxxxx”。

给出上述错误的示例 sn-ps 是:

function(b){
  var a=b, c=a.something, d=c.somethingElse;
}

这里说:

无法读取未定义的属性。

为什么构建后代码的行为会发生变化?

【问题讨论】:

  • 很可能是缩小库中的错误。我以前有那些(不是使用 Sencha Cmd tho)我会尝试重新编写它。例如,尝试在每个新行上定义变量 - 而不是一次全部定义。但不确定这是否会有所帮助。还会在 Sencha 论坛上报告错误。
  • 这个应用程序非常庞大,并且经过多年构建。我现在只是想缩小它(我知道已经太晚了)。所以重写所有这些行就像一场噩梦。有什么简单的出路吗?

标签: javascript extjs ecmascript-6 minify


【解决方案1】:

在我的情况下,问题是有一些备份文件的名称不同,但内容是要加载的实际文件的旧版本。例如,当应用程序未缩小时,假设加载的文件是 root.some.path.OneSampleFile.js。缩小时,另一个文件 OneSampleFileBackup.js 正在覆盖 OneSampleFile,因为这两个文件都说

Ext.Define('root.some.path.OneSampleFile') 

尝试找出是否有更简单的方法可以在 app-all.js 构建中找到具有重复声明的文件或仅包含 ext 定义路径和位置匹配的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多