簡體   English   中英

Sencha Cmd,C2001關閉編譯器錯誤:擴展本機類:數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM