[Grunt & Yeoman] grunt-contrib-compress で JavaScript や CSS ファイルを gzip する

grunt-contrib-compress で、JavaScript や CSS を gzip します。

インストール

% npm install grunt-contrib-compress --save-dev

Gruntfile

# grunt-contrib-compress
compress:
  css:
    options:
      mode: 'gzip'
    files: [
      expand: true,
      src: 'dist/stylesheets/*.min.css',
      ext: '.min.css.gz'
    ]
  js:
    options:
      mode: 'gzip'
    files: [
      expand: true,
      src: 'dist/javascripts/*.min.js',
      ext: '.min.js.gz'
    ]
  archive:
    options:
      archive: 'archive.zip'
    files: [
      expand: true,
      cwd: '<%= pkg.path.dist %>/',
      src: '**/*',
      dest: ''
    ]

つかいかた

例えば、公開用に minify 済ファイルの gzip 版を作成する。

% grunt compress:css
Running "compress:css" (compress) task
Created dist/stylesheets/gruntSample.min.css.gz (1335 bytes)
Done, without errors.

grunt-contrib-cssmin や grunt-contrib-uglify の report オプションの結果と比較すると、圧縮率が低いようだ。

% grunt compress:archive
Running "compress:archive" (compress) task
Created archive.zip (913572 bytes)
Done, without errors.