LoginSignup
9
10

More than 5 years have passed since last update.

gulpでCoffeeScriptを使う方法まとめ

Last updated at Posted at 2014-03-22

Gruntから移行する人も最近増えて来た gulp です。ただ、Coffee好きからすると残念なのが、gulpfileをCoffeeScriptで書いても、そのままだと認識されないこと。この記事では、それをなんとかする方法をまとめます。

追記: 次期バージョン gulp 3.7 では、デフォルトでAltJSが使えるようになるので、下のような苦労は不要になるらしいです

1. 正攻法: コマンドオプション

gulpfileはJavaScriptで書くのが標準ですが、オプションをつけることでgulpfile.coffeeを直接ロードすることが可能です。

$ gulp --require coffee-script/register

2. JavaScript からインクルード

毎回オプションを付けるのが面倒という場合、

  • gulpfile.coffee
  • gulpfile.js

のふたつを用意して、.jsから.coffeeをインクルードする方法があります。(個人的にはなんかイヤ)

gulpfile.js
require('coffee-script/register');
require('./gulpfile.coffee');

3. エイリアスを設定

もうひとつの方法が、エイリアスを設定しておくというもの。Mac OS Xの標準のシェルであれば、次のコマンドで設定可能です。

$ echo "alias gulp='gulp --require coffee-script/register'" >> ~/.profile

個人で使うには、この方法が一番キレイですが、プロジェクトを人と共有する際に、説明がちょっと面倒なのが玉に瑕。

4. CoffeeGulp

最後の方法は、コマンドのラッパーを作ってしまおうというもので、gulpコマンドの代わりに、coffeegulpコマンドを使います。

$ coffeegulp

これを使えるようにするには、

$ sudo npm install coffeegulp -g

としておく必要があります。手間的には、エイリアスと同じくらいでしょうか...。

まとめ

以上、4つの方法を紹介しました。

方法 コマンド デメリット
1. コマンドオプション gulp --require coffee-script/register コマンドが長い
2. jsからインクルード gulp 常にjsとcoffeeの2つがいる
3. エイリアス gulp 非標準な方法
4. CoffeeGulp coffeegulp 非標準な方法

個人的には、次の方針をとっていますが、それぞれのお好みでどうぞ〜。

  • 対外的には: コマンドオプションによる方式で説明
  • 個人の環境では: エイリアスを設定

希望としては、gulpのコミッターが心変わりをして、CoffeeScriptにサービスしてくれることを期待しています。こちらのディスカッションの風向きだと難しそうですが、ユーザが増えてくるに従って、また議論が再燃する可能性もなきにしもあらず。

9
10
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
9
10