LoginSignup
29
28

More than 5 years have passed since last update.

すべてはタスクの再利用性を高めるために - gulp.js

Posted at

結果として三部作になってしまったので、全体像と位置づけをここにまとめてみます。

logo.png

基本、自由に (再利用しないなら)

スタイルガイドなんて堅苦しいものをつくるつもりはさらさらなかったのですが、プロジェクト間で表記にブレがあると共通化しにくいのは面倒だなと思っていました。そして、「オレオレルール」を整理して行くうちにスタイルガイドっぽいものに。基本的には好き勝手書けば良いと思うので、参考程度にどうぞ。

gulpfileを晒してみる

「オレオレDotfiles」や「オレオレGruntfile」を公開しているのを見てなんか楽しそうだなと思っていました。もとい、学習時に助けられました。解説も大事ですが、実例を見るのが一番分かりやすいですよね。参考になるかはともかく、「gulpfiles」としてgulpfileを晒してみます。

ゴクゴク(gulp)飲むために、ストロー付けました

GitHubに置いたタスクファイルを、必要に応じてプロジェクトに導入するためのツールとしてgulp-strawを作りました。(というか作り中...)

GitHubの公開/非公開のレポジトリに置いておけば、strawコマンドでこんなことができます。

$ straw install gulpfile
[OK] cognitom:gulpfile > gulpfile
installing required modules in taskfiles...
[OK] installation completed
$ ls
gulpfile.js node_modules    package.json

ポイントとしては...

  • タスクのファイル名を指定してダウンロード (gulpfile, task/css, ...)
  • タスクの依存モジュールを自動インストール

細かい話としては...

  • package.jsonに記録するので、復元、更新が可能 (更新は実装途中)
  • 依存モジュールもpackage.jsonに記録される
  • ダウロンード先の相対パスは自由に設定可
  • 他の人のリポジトリも指定できる

など。

まとめ

gulpfileを整理しているうちに、気づいたら三部作になってしまいましたが、しばらくの方向性としてはこんなところかなと思います。

Gruntであれば、yoを使うのがスジですが、テンプレートを作るのが作業として重く、プロジェクト全体の定義にもなるため、動きが取りにくくなるのも「重い」...。身軽が信条なgulp.jsで、あまりYeomanの話が出ないのも、このあたりにモチベーションが上がらないからかもしれません。

とはいえ、複数プロジェクトで使っていくと、再利用性は常に課題になります。そこで、身軽なままに、なんとか出来ないかと考えたのがこの三部作です。

  • スタイルガイドにある程度沿えば、再利用できる
  • 小さいタスクの単位でgulpfileをどんどんGitHubに (yoと逆の発想で)
  • ストロー(gulp-straw)で、自分/他人の作ったタスクをつまみ食い(飲み?)

くらいの、ゆるい感じで、参考しにしていただければ幸いです。

29
28
0

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
29
28