2018/03/15更新

[フロントエンド] GulpでHTMLを圧縮する

このエントリーをはてなブックマークに追加      

こんにちは、@yoheiMuneです。
GulpでHTMLファイルを圧縮(minify)する方法を、ブログに書きたいと思います。



目次




Gulpとは

Gulpとはフロントエンドのビルドツールの1つです。今回紹介するhtmlの圧縮以外にも、JSの圧縮や結合など色々なことができます。gulpについては「[JavaScript] Gruntの後発のフロントエンドビルドツール、gulpに入門」をご参照ください。



GulpでHTMLのミニファイする

いくつかnpmモジュールがありますが、gulp-htmlminが人気もあって良さそうです。

npm経由でインストールします。
$ npm install --save gulp-htmlmin

以下のようにgulpで実装します。
const gulp = require('gulp');
const htmlmin = require('gulp-htmlmin');

gulp.task('minify-html', () => {
  return gulp.src('src/*.html')
    .pipe(htmlmin({
        // 余白を除去する
        collapseWhitespace : true,
        // HTMLコメントを除去する
        removeComments : true
    }))
    .pipe(gulp.dest('dist'))
})
htmlminメソッドで指定可能なオプションは、Options Quick Reference から確認できます。



最後に

フロントエンドのビルドツールではWebpackをメインで使いますが、Gulpもまだまだ使う機会が多いです。制約が少なくJSで好きに書けるところが素敵だなと思います。

最後になりますが本ブログでは、フロントエンド、PHP、Node.js、Swift、Python、Linux、Java、インフラ、Go言語、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSTwitterをフォローして貰えたら嬉しいです ^ ^

最後までご覧頂きましてありがとうございました!





こんな記事もいかがですか?

[取り組み] フロントエンドでコーディングスピードをアップさせる6つの方法!と思って書いてたら30個も書いちゃった。
[フロントエンド] フロントエンドの入社試験99問!難しいですよ〜w。
[フロントエンド] Webページを表示するテストの際に、通信速度を3Gに制限して表示してみよう
[フロントエンド] スマホ実機でのデバッグ手段を増やす!Macのプロキシを利用して、通信内容を確認する。
[フロントエンド] Chrome 35 Beta の変更点。Touch制御、新しいJavaScript機能、プレフィックスなしのShadowDOM
[フロントエンド]複数アカウントでのテストには、Chromeのユーザー管理を使って、Cookieを切り替えると便利
[フロントエンド] Chrome36βが出た。変更点など。element.animate、HTML Imports、Object.observe、他。
RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。