#
JavaScript および GulpfileGulp では、既存の JavaScript の知識を利用して gulpfile を記述したり、gulpfile の経験を活かしてプレーンな JavaScript を記述したりできます。ファイルシステムとコマンドラインの操作を簡素化するユーティリティがいくつか提供されていますが、それ以外の記述はすべて純粋な JavaScript です。
#
Gulpfile の説明gulpfile はプロジェクトディレクトリ内の gulpfile.js
という名前のファイルです(Makefile のように Gulpfile.js
と大文字で記述することもあります)。gulp
コマンドを実行すると自動的に読み込まれます。このファイルでは、src()
、dest()
、series()
、parallel()
などの gulp API が表示されることがよくありますが、バニラの JavaScript や Node モジュールも使用できます。エクスポートされた関数はすべて、gulp のタスクシステムに登録されます。
#
トランスパイルトランスパイルが必要な言語(TypeScript や Babel など)を使用して gulpfile を記述できます。gulpfile.js
の拡張子をその言語を示すものに変更し、対応するトランスパイラモジュールをインストールします。
- TypeScript の場合は
gulpfile.ts
に名前を変更し、ts-node モジュールをインストールします。 - Babel の場合は
gulpfile.babel.js
に名前を変更し、@babel/register モジュールをインストールします。
新しいバージョンの node のほとんどは TypeScript や Babel が提供するほとんどの機能をサポートしていますが、import
/export
構文は除きます。その構文のみが必要な場合は gulpfile.esm.js
に名前を変更し、esm モジュールをインストールします。
このトピックの詳細とサポートされている拡張子の完全なリストについては、gulpfile のトランスパイルドキュメントを参照してください。
#
gulpfile の分割多くのユーザーは、すべてのロジックを gulpfile に追加することから始めます。大きくなりすぎた場合は、別々のファイルにリファクタリングできます。
各タスクはそれ自体のファイルに分割し、gulpfile にインポートしてコンポジションすることができます。これにより整理が保たれるだけでなく、各タスクを独立してテストしたり、条件に基づいてコンポジションを変更したりできます。
Node のモジュール解決を使用すると、gulpfile.js
ファイルを index.js
ファイルを含む gulpfile.js
というディレクトリに置き換えることができます。このディレクトリは gulpfile.js
として扱われます。このディレクトリには、タスク用の個別のモジュールを含めることができます。トランスパイラを使用している場合は、フォルダーとファイルに名前を付けてください。