LoginSignup
91
93

More than 5 years have passed since last update.

最新ビルドシステムGulp 4入門 〜環境構築からタスク作成まで〜

Last updated at Posted at 2017-03-28

Gulpは、SassやBabel・TypeScriptのコンパイル、ローカルサーバーの構築等、面倒なweb制作のタスクを効率的に記述する人気のビルドシステムです。2018年12月にリリースされた最新のバージョン4では、簡易なタスク定義、プラグインなしの直列・並列処理など、便利な機能が追加されています

本エントリーでは、Gulp 4の導入方法と簡単なタスク定義までを紹介します。

絶対つまずかないGulp 4入門(2018年版) - インストールとSassを使うまでの手順 - ICS MEDIA」では環境構築方法やSassのコンパイル、watchなどについて動画付きで詳しく解説しています。こちらもあわせて参照ください。

プロジェクトの初期設定

まずは環境準備です。コマンドライン(Windowsではコマンドプロンプト、macOSではターミナル)を使う場面がありますが、コピペだけで簡単にインストールでき、5分もあれば終了します。

任意のプロジェクトフォルダーにコマンドラインを使って移動します。

プロジェクトフォルダへの移動
cd /Users/MyName/myproject

プロジェクトの初期設定を行います。

プロジェクトの初期設定
npm init -y

プロジェクトフォルダーにGulp 4のインストール

Gulp 4をインストールします。

プロジェクトの初期設定
npm install gulp -D

プロジェクトフォルダーのGulp 4を使う

プロジェクトフォルダーにインストールしたGulp 4を使うには、npm Node.js v8.2で導入されたnpxを使うのが便利です(参考記事「npm 5.2.0の新機能! 「npx」でローカルパッケージを手軽に実行しよう」)。

npx gulpコマンドにより、プロジェクトフォルダーのGulpが使えるようになります。グローバルにgulp-cliをインストールする必要はありません

Gulpの使用(バージョンの確認)
npx gulp -v

タスクを指定したい場合は次のようにします。

Gulpの使用
npx gulp (タスク名)

Gulp 4を試してみる

環境が準備できたので、Gulp 4を使ってみましょう。Gulp 4の変更点は CHANGELOG に記載がありますが、基本的な使い方は同じです。

ログを出力する簡単なタスクは下記です。doneの部分はコールバック関数(タスクが終わった後に実行される関数)で、この指定がない場合は警告が出ます。

ログの出力テストです
gulp.task("mytask", (done) => {
  console.log("gulp 4 success!");
  done();
});

タスクを実行してみましょう。

mytaskの実行
npx gulp mytask

コンソールにログが出力されれば成功です。

直列・並列処理

これまでGulpで直列処理(1つの処理が完了した後に次の処理が実行される)・並列処理(複数の処理が同時に実行される)を行うには、run-sequenceのようなプラグインを使う必要がありましたが、Gulp 4では標準でgulp.seriesgulp.parallelが追加されたため、追加プラグインが不要となりました。

  • task1 : 1秒後にログを出力
  • task2 : 2秒後にログを出力
  • task3 : 即座にログを出力

という内容のタスクを定義し、task1とtask2の完了後にtask3を実行するタスクを定義します。

Gulp4の直列・並列処理
gulp.task("default",
  gulp.series(
    gulp.parallel("task1", "task2"),
    "task3"
  )
);

 実行すると、次のようにログが出力され、直列・並列処理が成功していることがわかります。

Gulp 4を使ってみよう

Gulp 4では、gulp.seriesgulp.parallelを中心にAPIが更新されました。個人的にはGulp 3系を学ぶ時よりも、学習コストが低くなった印象を受けています。是非最新ビルドシステムGulp 4に触れてみてください。

■ 関連記事

91
93
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
91
93