[英]Sencha Cmd, C2001 closure compiler error: extending native class: Array
運行Sencha Cmd v6.5.3.6時,出現以下錯誤消息:
[ERR] C2001:閉包編譯器錯誤(無法從ES6轉換此代碼。擴展本機類:數組)-壓縮輸入:111263
該錯誤是由以下代碼引起的:
鏈類擴展數組{
}
使用類聲明中的方法仍然會發生錯誤。
有沒有辦法使此代碼由Sencha Cmd編譯?
更新:為解決此問題,我將代碼更改為:
函數Chains(){};
Chains.prototype =新數組;
Chains.prototype.anyMethod = function(){}
我認為ExtJS到目前為止不支持該語法。 就目前而言,您可能必須使用其語法:
Ext.define('Chains', {
extend: 'Array'
});
然后在您的代碼中可以這樣調用它:
var chns = Ext.create('Chains');
chns.push('a');
console.log(chns);
您正在使用無法轉換為ES6之前的代碼的ES6功能 。
Sencha Cmd默認將您的代碼轉換為ES6之前的代碼,因為尚未刪除IE11支持。
您可以按照官方文檔中所述從Sencha Cmd 6.5.0開始禁用代碼轉譯:
在某些情況下,您不需要所有這些轉譯。 也許您的目標是Electron或僅支持具有所有這些功能的現代瀏覽器。 您可以禁用編譯器,並仍然對本機ES6代碼使用Sencha Cmd代碼壓縮器。 只需對app.json文件進行一些調整,然后與轉譯器及其polyfill道別:
"output": { "js": { "version": "ES6" } }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.