web-dev-qa-db-ja.com

concatとuglifyおよびminifyの違いは何ですか?

Gruntのconcat、uglify、minifyタスクの違いは何ですか?私は自分のサイトのすべてのjavascriptタスクに対してuglifyタスクを設定しましたが、それらを縮小および連結するように見えました。 Gruntのサイトには、各タスクの設定方法に関する素晴らしい説明がありますが、各タスクが実際に何をするのかを説明しているようには見えません。

52
mheavers
  • 連結は、すべての静的ファイルを1つの大きなファイルに追加するだけです。

  • 最小化は単なる不要な空白の削除と、curlysやセミコロンなどの冗長/オプションのトークンであり、リンターを使用して元に戻すことができます。

  • glificationコードの変換の動作です。つまり、元の意図を隠すために変数/関数の名前を変更します...また、元に戻すこともできません。

97
diclophis

連結-指定されたすべてのファイルをマージして、新しい単一のファイルを作成します。

最小化-不要な空白と冗長なオプショントークンがすべて削除されることを意味します。

例-self.description = 'Hello'縮小バージョンは-self.description = 'Hello'

glification-コアロジックが簡単に理解できないような形式でコードを変換することを意味します。同じことを行うために、変数とその参照の名前を変更し、短い名前などでパラメーターの名前を変更します。誰も簡単に理解できないように、単にビジネスロジックを難読化します。

例-

self.description = 'Hello';
function(self.description){}

Uglifiedバージョンは-

  j.description = 'Hello';
  function(j.description){}
11
Gaurav Tiwari