コーディング回りを行っていると、以前に比べてやらなければならないことが増えてきていました。そのため、細々した作業でも、自動化して効率よく開発をすすめないと、時間がかかってしまうことが多いです。いうものなのかの簡単な説明から、導入の基礎部分までを書いておきます。コピペでしか使ったことがない!という人や、誰かのコピペに頼って使っていたような人も、今後の活用していくための参考に利用してもらえたら嬉しいです。製の毎回行うような作業を自動化してくれるツールです。(ストリーミング・ビルド・システム)です。違いはありますが、作業で活躍するポイントになる部分は同じです。タスクランナーとストリーミング・ビルド・システムがどう違うかをもう少し掘り下げてみます。サイトにも書いてあるように、こちらは「タスクランナー」で、様々なタスクを実行させて、最終的にビルドへと進めるアプローチをするツールです。順番を並び替えるタスクという3つのタスクを用意して、それぞれを順に実行してビルドを進める流れになります。それぞれのタスクはそれぞれで完結していて、それぞれのタスクでどのファイルに処理を入れるかのファイルの指定を行う必要があります。入力されたものに対して処理をいれていき、1つの流れの中でビルドを行うアプローチになります。並び替えという一連の処理を行う流れになります。おいてのファイルの扱いをストリームと呼ぶようなのですが、詳しくはリンク先を参照してください。インストールされている必要があります。簡単なのは公式サイトからインストーラーをダウンロードしてきてインストールする方法です。バージョンアップが比較的多くされるので、プロジェクト毎にバージョンが切り替えられるバージョンマネージャーを使ってのインストールをおすすめしています。インストーラーからインストールNode.js黒い画面が使えない・苦手という人はインストーラーから入れてください。理由はプロジェクト単位でバージョンを切り替えて利用することができるためです。こちらを利用してのインストール方法はまた別でエントリーしようかと思いますので、今回はリンクのみ。使っても入れることができます。こちらは以前紹介したエントリーがあるので、そちらを参考にしてみてください。管理を「nodebrew」から「anyenv」に変更。インストールましょう。いうコマンドを利用します。使うことで、使いたいパッケージなどの管理をすることができます。参照してみてください。インストールの際に、以下のコマンドをターミナルで入力することでインストールされます。右側をいれて実行します。コピペして実行で大丈夫です。この状態ですと、他の人が同様プロジェクトに携わるときに、どのバージョンをインストールしたらよいのか別途把握する必要があり、他のパッケージをインストールするコマンドを毎回入力する手間が発生します。いうファイルを用意することで共有が楽になります。用意しておくと記録しておくことができます。コマンドでも作ることができます。設定されて出来上がるようになっています。使って用意した場合はオンラインで公開されることを前提としているため、様々設定する項目ごと出力されるようになっています。プロジェクトの作業状態の公開を前提としない場合、これらの設定項目は全て不要になります。入れておく進め方でも大丈夫です。いう警告の表示がでてしまいます。プライベートプロジェクトですよーという項目の設定をしておくことで表示が出ないようにすることができます。true}これを入れておくことで、インストールのコマンドを入力しても警告がでないようになります。入っていたら気になる部分も減るはずです。他の説明を、削除することなくいれておくほうが良いのですが、別のプロジェクトでも同じものを利用するときに、その名前を残したままコピーしてしまう人も過去に体験したので、必ずしも必要という状況でなければ、使わない項目はいれないでおくのが良いと思います。案件名とかプロジェクトキーワード的なのを残したまま他のプロジェクトで他の作業者に共有してしまったときに、公開しては良くない情報を渡してしまう可能性もあるので。個人のプロジェクトとか作業するだけの、作成過程のコードを公開しないプロジェクトであれば、最低限の中身があれば良いと思います。バージョンを記録しながら進めるようにします。インストールしたバージョンの情報が残ります。いうフォルダが出来上がります。インストールされる様々な必要な機能が格納されることになります。使ってパッケージをインストールする時に、先ほど書いたようにインストールを行うと、インストールコマンドをたたいた時にいるプロジェクトのディレクトリにインストールされることはお伝えしました。コマンドのオプション機能で、パソコン全体で共通で使える機能としてパッケージをインストールするようになります。入力するだけで使えるようになることだけです。他のプロジェクトで再度インストールしなくてもよくなるというメリットもありますが、そのメリット以上に、弊害が大きかったりします。つかっている場合に問題が起きる可能性があります。1年前にリリースしたプロジェクトで修正や変更が発生した場合に、グローバルでインストールをしてしまっているとバージョン差異が発生してしまい、エラーの原因になったり、違ったものが出力されてしまう原因になってしまいます。グローバルでインストールをせずに各プロジェクト毎にインストールをしておけば、過去に対応していたプロジェクトに戻っても、その当時のバージョンで再度動作させることができるので、グローバルインストールにならない、ローカルインストールで使えるようにしておくほうがよいです。利用することができます。基礎の機能を、少しずつ順を追いながら、ソースコードを徐々に加えていき、確認ができるように進めます。練習用に黒い画面に、何かテキストを表示するだけのタスクを用意してみます。新規作成したら、中身を以下の内容にします。./node_modules/.bin/gulp黒い画面に、「テスト表示です」という表示が出てきたらOKです。./node_modules/gulp/bin/gulp.jsこれらのコマンドでも同じ結果を得られます。シンボリックリンクです。格納されたファイルを使う必要があります。それを使うコマンドの入力は長い。コマンドが使えるようになります。活用するようなこのへんの話をいろいと書くと、更に長くなってしまうので、なんでこうするのかとかの理由については以下リンク先を参照してください。本文だけでなくて、コメントまで参考になることが展開されていたりします。ように都度使うものを入力でも、僕はどちらでもよいと思っています。個人的には案件やクライアントで使うものが変わったりする可能性もあるため、毎回その変わったのを用意するのが面倒なので、後者のほうで実行させることのほうが多いです。gulp.task()先ほど実行したコードについてに話をもどして、コードを確認しておきます。タスクを書いたコードになっています。書いている部分がタスクの名前で、自由にタスクの名前をつけることができます。コマンドだけで実行されるようになります。扱うファイルを指定して、他のディレクトリに出力する機能にしてみます。ファイルをとってきてそのまま同じものを出力するので、コピーの機能になります。変更をしましたので、実行するコマンドは以下になります。バージョンが低い可能性があります。バージョンをあげるかしてください。ディレクトリに出力されるようになります。アスタリスク2つとスラッシュ、その後ろにさらにアスタリスク1つをつけて指定します。ディレクトリ以下全の取得だけでなく、特定のファイルのみだったり、特定の拡張子のみだったりなど、ファイルの種類を限定することも可能です。先頭に付いているものは、そのファイルは除外という指定になります。上記の例だと、以下のようなファイルとフォルダの構成と出力結果になります。なく、直接の指定などで指定すると、全てが同一の階層で出力されます。オプションを指定します。オプションを利用してください。処理をつないでいきます。ファイルの中身にプレフィックスをつける処理がされたファイルが渡ってきて、順番を並び替える処理を入れる、という処理の流れができます。よって繋げられているので、処理をつなぐために必要なものという認識でいるくらいで最初は大丈夫です。ファイルの保存を監視する次に、ファイルの保存を監視し、保存されたらファイルが自動でコピーされるタスクを追加してみます。タスクを動かすようになります。cb])どのファイルを監視するかの指定と、更新が入った場合にどのタスクを動かすのかの指定を行います。動いてい状態となります。タスクが動作しないことになってしまいます。そんなときはまとめて機能を動かせるように記述を加えます。まとめて動かすことができます。