gulp-uglifyでJavaScriptファイルを圧縮しよう【gulp4】

html/css
この記事は約6分で読めます。
スポンサーリンク

はじめに

今回はgulp-uglifyを使ってJavaScriptファイルを圧縮する方法について説明します。

JavaScriptファイルが重たいと読み込みに時間が掛かってwebページの表示に時間が掛かるなどの問題があります。

ファイルが軽くなるとその分webページの表示速度が速くなり、SEO的にも有利になるため積極的に圧縮するようにしましょう。

対象者
  • web制作の勉強をされている方
  • JavaScriptファイルの圧縮方法を知りたい方

その他gulpのおすすめのプラグインはこちら

gulpの使い方まとめについてはこちら。

gulpfile.jsのテンプレート紹介についてはこちら。

それではgulpでJavasCriptを圧縮する方法の説明に移ります。

スポンサーリンク

JavaScriptを圧縮する目的

JavaScriptを圧縮するメリットとして以下3つのメリットがあります。

基本的にはcssファイルを圧縮するメリットと同じですね。

  • 読み込み時間の短縮によりwebページの表示速度が向上する
  • サーバー容量の節約ができる
  • ソースコードを難読化し悪用を防ぐ

JavaScriptを圧縮する一番の目的は、読み込み時間を圧縮させてwebページの表示速度を向上させることです。

もう一点、ファイルを圧縮させると変数名を分かりにくく変換してくれたり、コメントや改行を削除してくれたりするのでソースコードの難読化にも有効です。

今回は以下2つのプラグインを使ってcssの圧縮をしていきます。

プラグイン名内容
gulp-uglifyJavaScriptファイルを圧縮する
gulp-plumberwatch中にエラーが発生してもwatchが止まらないようにする

cssファイルを圧縮する方法についてはこちら。

スポンサーリンク

ディレクトリ構成

今回のディレクトリ構成は下記になります。

test
├ node_modules
├ dist
│ └ js
├ src
│ └ js
│   └ index.js
├ gulpfile.js
├ package-lock.json
└ package.json

index.js に対して圧縮を行い、圧縮後のファイルをdist/js に出力します。

スポンサーリンク

プラグインをインストールしよう

それではgulpのプラグインをインストールしていきましょう。

npm i -D gulp-uglify

下記コマンドをターミナルで実行してgulp-uglifyをインストールします。

npm i -D gulp-uglify

gulp-uglify 公式

npm i -D gulp-plumber

こちらも同様にインストールします。

npm i -D gulp-plumber

gulp-plumber 公式

スポンサーリンク

gulpfile.jsを編集しよう

プラグインのインストールが完了したらgulpfile.jsを編集していきましょう。

//----------------------------------------------------------------------
//  モード
//----------------------------------------------------------------------
"use strict";

//----------------------------------------------------------------------
//  モジュール読み込み
//----------------------------------------------------------------------
const gulp = require("gulp");
const { src, dest, series, parallel, watch, tree } = require("gulp");

const uglify = require("gulp-uglify");
const plumber = require("gulp-plumber");

//----------------------------------------------------------------------
//  関数定義
//----------------------------------------------------------------------
function js(done) {
  src("./src/js/**/*.js")
    .pipe(plumber())                 // watch中にエラーが発生してもwatchが止まらないようにする
    .pipe(uglify())                  // コード内の不要な改行やインデントを削除
    .pipe(dest("./dist/js/"));

  done();
}

//----------------------------------------------------------------------
//  タスク定義
//----------------------------------------------------------------------
exports.js = series(js);

/************************************************************************/
/*  END OF FILE                                                         */
/************************************************************************/
スポンサーリンク

コマンドを実行しよう

gulpfile.jsの編集が完了したらコマンドを実行しましょう。

npx gulp js

「npx」のコマンド使用時にエラーが出る方はこちらを参照してください。

gulpのインストール先が異なる可能性があります。

以下のようになれば正しくJavaScriptを圧縮できています。

[00:00:00] Starting 'js'...
[00:00:00] Starting 'js'...
[00:00:00] Finished 'js' after 11 ms
[00:00:00] Finished 'js' after 14 ms
スポンサーリンク

おわりに

以上gulp-uglifyを使ってJavaScriptファイルを圧縮する方法について説明しました。

いかがだったでしょうか。

webページの表示速度にこだわる方はぜひ導入を検討してみてください。

コメント

タイトルとURLをコピーしました