STERFIELD

2024/10/25

Gulpを使ったプロジェクトの基本設定とSass導入手順

Gulpを使ったプロジェクトの基本設定とSass導入手順

はじめに

Gulpは、フロントエンド開発の作業を効率化するための自動化ツールです。ファイルを一つひとつ手作業で処理する代わりに、Gulpを使えば、様々なタスクを自動で実行できるため、時間を大幅に節約できます。さらに、CSSを効率よく管理するためにSassという拡張機能を導入することで、コードの見やすさが向上し、メンテナンスもしやすくなります。

この記事では、Gulpの基本的な導入方法から、Sassを使った開発の進め方までを解説します。

1. Gulpとは?

Gulpは、開発作業を自動化するための「タスクランナー」です。 手動で行うと時間がかかる以下のような処理を、簡単なコマンドで自動実行できるのが特徴です。

  • Sass/LESSファイルのCSSへの自動変換
  • JavaScriptやCSSの圧縮・結合
  • ファイルの変更監視
  • ローカルサーバーの起動やブラウザの自動リロード
  • 画像の最適化 など

Gulpを使えば、作業の効率が上がり、開発時間を短縮できます。

2. 環境準備

2.1 事前準備

まず、Gulpを使用するために、Node.js をインストールします。

インストール後、以下のコマンドでバージョンが確認できます。

node -v

2.2 プロジェクトの初期化

プロジェクトのディレクトリで以下のコマンドを実行し、package.json を自動生成します。

npm init -y

これで、プロジェクトディレクトリに package.json が作成されます。

3. Gulpのインストール

プロジェクトのローカルにGulpをインストールします。

npm install gulp --save-dev

これで node_modules フォルダと package-lock.json が作成され、package.json の "devDependencies" に Gulp が追加されます。

4. Gulpfileの作成

次に、プロジェクトのルートディレクトリに gulpfile.js を作成し、基本的なタスクを設定します。

const gulp = require('gulp');

gulp.task('default', function() {
  console.log('Gulp is running!');
});

5. Sassの導入

以下のコマンドで、Sassをコンパイルするための gulp-sass と sass をインストールします。

npm install --save-dev gulp-sass sass

6. Sassコンパイルタスクの設定

以下のコードを gulpfile.js に追加し、SassファイルをCSSに変換するタスクを追加します。

const sass = require('gulp-sass')(require('sass'));

gulp.task('sass', function() {
  return gulp.src('dev_src/scss/**/*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('dist/css'));
});

gulp.task('default', gulp.series('sass'));

7. ディレクトリ構造(例)

my-project/
│
├── dev_src/                 ← ソースファイルを格納するフォルダ
│   ├── files/               ← 静的ファイルやアセットを格納
│   │   └── assets/          ← 画像やフォントなどのリソース
│   │       └── images/      ← 画像ファイル
│   ├── pug/                 ← Pugテンプレートファイルを格納
│   │   └── index.pug        ← メインのPugファイル
│   └── scss/                ← Sassファイルを格納
│       └── style.scss       ← メインのSassファイル
├── gulpfile.js              ← Gulpのタスク設定ファイル
├── package.json             ← プロジェクトの設定情報
└── package-lock.json        ← インストールしたパッケージの依存関係

8. Sassファイルの作成

dev_src/scss/style.scss に以下のコードを追加します:

$primary-color: #333;

body {
  color: $primary-color;
}

9. 動作確認

以下のコマンドを実行して、Gulpを起動します。

 npx gulp

10. CSS 内容の確認

Gulpを実行した後、dist/フォルダにはコンパイルされたHTMLやCSSファイルが生成されます。具体的には、以下のようなファイルが出力されます。

my-project/
│
├── dist/               ← コンパイルされたHTMLやCSSが出力される
│   ├── index.html      ← Pugから生成されたHTMLファイル
│   └── style.css       ← Sassから生成されたCSSファイル
├── dev_src/
│   ├── files/
│   │   └── assets/
│   │       └── images/
│   ├── pug/
│   │   └── index.pug
│   └── scss/
│       └── style.scss
├── gulpfile.js
├── package.json
└── package-lock.json

特に、dist/style.cssの中身が以下のようになっていれば、Sassから正常にコンパイルされていることが確認できます。

body {
  color: #333;
}

11. まとめ

これで、Gulpを使ったプロジェクトのセットアップとSassファイルのコンパイルの手順が完了しました。Gulpを使うことで、Sassのコンパイルやファイルの変更を自動で監視できるようになり、開発の効率が上がります。

他にもできること

Gulpを使用すると、以下のような他のタスクも簡単に自動化できます。

  • JavaScriptの圧縮と結合

    gulp-uglify や gulp-concat を使って、JavaScriptファイルを圧縮し、一つにまとめることで、読み込み時間を短縮できます。

  • CSSの圧縮

    gulp-clean-css を利用して、生成されたCSSファイルを圧縮し、ファイルサイズを小さくできます。

  • 画像の最適化

    gulp-imagemin を使用して、画像ファイルのサイズを削減し、ページの読み込み速度を向上させることが可能です。

これらの機能を活用することで、さらに開発がスムーズになります。Gulpには他にも多くの便利な機能がありますので、自分のプロジェクトに合ったタスクを見つけて、効率的なフロントエンド開発を進めてみてください。

参考

Author Profile

著者近影

KATHYHUN

ミャンマー人です。 フロントエンジニアです。 タイ料理が好きです。

SHARE

合わせて読みたい