適当な思いつきで書くブログ

UbuntuやPerlやJavaScriptやVimやZshやShellScriptやMySQLと戯れている中で適当な思いつきでやってみたことを書いています。

lesscの圧縮オプションの比較 --compress V.S. --yui-compress

lesscの圧縮オプションは--compressと--yui-compressがある。

これらの圧縮オプションでコンパイル結果は下記のような差がある。

--compress

  • すべてのコメント表記を削除する
  • スタイルごとに改行

--yui-compress

  • /*! comment */ のコメントは削除しない(/* comment */は削除される)
  • すべてのスタイルが一行にまとめられる

ソースレベルで比較すると下記のような感じ。

生のlessファイル(foo.less)

@charset 'utf-8';

/*!
 * foo
 */

/*
 * 色指定
 */
body {
  color: #333;
}

article {
  p {
    // pは少し薄く
    color: #666;
  }
}

--compressによるコンパイル結果

$ lessc --compress foo.less
@charset 'utf-8';
body{color:#333;}
article p{color:#666;}

--yui-compressによるコンパイル結果

$ lessc --yui-compress foo.less
@charset 'utf-8';/*!
 * foo
 */body{color:#333}article p{color:#666}

--yui-compressは改行しない分だけ圧縮率が高い。また、Twitter Bootstrapのようなライブラリのライセンス表記が削除されない(/*! comment */で記載しあることが前提だけれども)。
圧縮オプションを利用するならば--yui-compressの方が良さそう。