概要
JavaScript や CSS をコーディングする際に、管理を便利にするために役割ごとにファイルを複数に分割して、実際に動作させる際には1つのファイルに結合して動かしたい場合があります。 本稿では Gulp で複数のファイルを結合する方法について解説します。 なお、Gulp で複数のファイルを結合するには gulp-concat モジュールが便利です。 本稿では gulp-concat を用いた方法を紹介します。
本稿のゴール
本稿では、3つのファイル( src/file1.txt, src/file2.txt, src/file3.txt )を、1つのファイル( dest/file.txt )として結合して出力することをゴールとして解説します。
プロジェクト
├ gulpfile.js
├ /src
│ ├ file1.txt
│ ├ file2.txt
│ └ file3.txt
│
└ /dest
└ file.txt ← これを出力する
インストール
まずはプロジェクトに gulp と gulp-concat をインストールします。 それぞれのモジュールを次のように npm install コマンドでインストールします。
$ npm install -D gulp
$ npm install -D gulp-concat
利用方法
それではファイルを結合するタスクを書いてみましょう。 gulpfile.js は次の通りです。
var gulp = require("gulp");
var concat = require('gulp-concat');
gulp.task("default", function() {
return gulp.src(['src/file1.txt', 'src/file2.txt', 'src/file3.txt'])
.pipe(concat('file.js'))
.pipe(gulp.dest('dest/'));
});
2行目で gulp-concat モジュールを読み込み concat として宣言しています。 タスクの記述では、src() で結合するファイルを指定し、concat() で結合後のファイル名を指定し、dest() で出力先を指定しています。
結合する順番を決定するには?
ファイルの結合順番が重要な場合もあるでしょう。 ファイルの結合順序は src() で指定した順番で結合されます。 src/* などのようにワイルドカードで順番を指定するのではなく、一つずつ丁寧にファイル名を指定すると良いでしょう。
おわりに
本稿では Gulp で複数のファイルを結合する方法として gulp-concat モジュールを利用する方法を紹介しました。 皆さんのWEB制作を楽にする手助けになれば幸いです。