2017-07-17 92 views
0

根據定義對JavaScript進行縮小處理基本上只是刪除空格和註釋。在此基礎上,爲什麼Nodejs是關於ECMA5或ECMA6代碼是否必需的語言規範?爲什麼不運行縮小器並通過刪除空格和註釋來縮小代碼。爲什麼我需要打擾我的代碼是寫入ECMA5還是6?節點JS縮小

在此先感謝。

+0

爲什麼你認爲ES版本很重要? – Lazyexpert

+0

我的代碼庫是ECMA5&6的混合體。我使用了gulp-uglify,它給出了進一步發現的錯誤,因爲我們使用了ECMA6語言規範,這種規範不能縮小。 – ramasCoder

+0

你使用uglify作爲後端? – Lazyexpert

回答

3

根據定義對JavaScript進行縮小處理基本上只是刪除空格和註釋。

我不知道你引用了哪個「定義」。縮小比例是多,比擠壓出空白多得多。 Minifiers解析整個數據源以進行高級縮減。顯然,要做到這一點,他們必須知道他們正在解析的語法。如果他們不知道ES6語法,他們將無法解析ES6輸入。爲了縮小ES6,你必須選擇一個支持ES6的縮小器。

+0

感謝您的回覆,但您能否舉一些例子說明除了刪除需要遵守語言規範的空白空間和評論外,還有哪些額外的功能。 – ramasCoder

+1

有很多很多的例子。一個非常簡單的就是'真'成爲'!'。另一個是「if(false){LONG_PIECE_OF_CODE}」被完全刪除。當然,這些都不是ES6特有的,但都需要解析代碼,並且縮小器只能解析它所知道的語法。 – 2017-07-17 11:38:13