Javascript “Sencha图表错误”;无法调用方法';应用';“未定义”的定义;
我的应用程序在开发环境中运行良好 当我运行构建生产时,没有错误 当我在浏览器中查看产品版本时,当应用程序应生成图表时,我会出现以下错误: “无法调用未定义的方法'apply'” 调试时,我看到以下错误: :TypeErrorJavascript “Sencha图表错误”;无法调用方法';应用';“未定义”的定义;,javascript,extjs,charts,sencha-touch-2,Javascript,Extjs,Charts,Sencha Touch 2,我的应用程序在开发环境中运行良好 当我运行构建生产时,没有错误 当我在浏览器中查看产品版本时,当应用程序应生成图表时,我会出现以下错误: “无法调用未定义的方法'apply'” 调试时,我看到以下错误: :TypeError 获取堆栈:函数(){[本机代码]} 消息:“无法调用未定义的方法‘应用’” 设置堆栈:函数(){[本机代码]} 协议:错误 参数:参数[2] 0:“系列仪表” 1:对象 角度字段:“当前值” 图表:Ext.apply.create.g 颜色集:数组[2] 甜甜圈:30 利润
获取堆栈:函数(){[本机代码]}
消息:“无法调用未定义的方法‘应用’”
设置堆栈:函数(){[本机代码]}
协议:错误
参数:参数[2]
0:“系列仪表”
1:对象
角度字段:“当前值”
图表:Ext.apply.create.g
颜色集:数组[2]
甜甜圈:30
利润率:10
最大值:120
最小值:0
位置:“仪表”
步骤:10
类型:“仪表”
proto:对象
被调用方:函数(){var j=arguments[0],i=g.call(arguments,1),k=j,l,h;if(typeof j!=“function”){h=this.get(j)}else{h=j}if(!h){l=this.getnamebayalias(j);if(l){j=l;h=this.get(j)}if(!h=this.getNameByAlternate(j);if(l){j=l;h=this.get(j)}if)}if(!synch=this.get(j)}返回长度
函数(){返回this.constructor.apply(this,arguments)}
i:数组[1]
0:对象
长度:1
proto:数组[0]
j:“外部图表系列仪表”
k:“系列仪表”
l:“外部图表系列仪表” Ext.chart.series.Gauge与Ext.chart.series.series一样列在我的requires语句中 我曾尝试使用与api文档中的示例完全相同的代码创建仪表,但仍然存在相同的问题 这个错误在开发版本中不存在,只有在我运行生产构建之后才存在。我已经使用调试标志运行了构建,以创建构建日志,但是没有详细的错误。本机生成中不存在此错误 Sencha Touch 2.2.1 Sencha Cmd 3.1.2.342 已更新 我做了一个测试构建。当我的测试构建应用程序崩溃时,调试器直接转到app.js的第4552行,即
return superMethod.apply(this, args || noArgs);
整个功能是:
callSuper: function(args) {
var method,
superMethod = (method = this.callSuper.caller) && ((method = method.$owner ? method : method.caller) && method.$owner.superclass[method.$name]);
return superMethod.apply(this, args || noArgs);
},
那么,您知道是什么原因导致了这种情况吗?您需要为生产构建应用程序,但不需要压缩(在
.sencha/app/production.properties
中设置build.compression.yui=0
,并可能禁用build.optimize
)。希望这些问题在这些条件下再次出现,然后您就能够调试并弄清楚Ext中到底发生了什么。我在myappfolder/.sencha/app/production.propertiesOh中没有这些值?我不太习惯Sencha CMD,但我的(Sencha CMD 3.2.something)在创建应用程序时生成了这些值(将compression.yui
设置为1)。试着自己添加它们,我觉得它们无论如何都应该有效。我已经用新信息更新了这个问题