web-dev-qa-db-ja.com

保存時にCoffeeScriptをコンパイルしますか?

保存時にCoffeeScriptを簡単にコンパイルする方法はありますか? TextMateまたはSublimeText2を使用しています。

45
fancy

Coffeescriptには「ウォッチ」機能があります。半永久的なプロセスとして、次のように設定できます。

coffee –wc -o media/js/ src/coffee/*.coffee

また、拡張子が「.coffee」のすべてのファイルについて、対応するコンパイル済みの「.js」ファイルは、保存するたびにターゲットディレクトリに配置されます。

そうは言っても、HTMLはHAML、CSSはLessCSSであり、開発ディレクトリはテストパスではないため、Makefileとfabfileを使用しています。

マシンがinotifyをサポートしている場合は、inotifywaitを使用して作業パス全体を監視し、必要に応じてMakeを呼び出すことができます。しかし、その時点で、あなたは筋金入りのオタクに夢中です。

66
Elf Sternberg

コマンドラインなしでこれを実行することもできます。

  1. Sublime Textにビルドプロセスを追加
  2. Save All on BuildToolsメニューで選択されています。
  3. 保存するときは、⌘Sではなく⌘Bを使用してください。

したがって、保存時にコンパイルする代わりに、コンパイル時に保存します。

19
Jed Schmidt

Sublimeを使用した最も簡単なソリューションは、Better Coffeescriptと呼ばれるSublimeパッケージ(設定->パッケージコントロール->インストールパッケージ...)をインストールし、その構成に"compileOnSave": true(設定- >パッケージ設定->より良いCoffeescript ...)。次に、Sublimeを再起動します。

Sublimeの場合、他のコンポーネントでは十分ではないか、余分なコンポーネントが多すぎます。 Sublime 3にアップグレードした後、ここに来たばかりで、Sublime 3の魅力のように機能します(Sublime 2の場合と同様に、最初は忘れていました)。

3
matanster

coffee --watchには2つの大きな欠陥があります。

  • コマンドの発行後に作成された新しいファイルは監視されていません
  • 手動で開始する必要があるため、それを忘れる可能性があります。これは、git commitする前にコンパイルするのを忘れるよりも素晴らしいとは思えません

私が思いついた解決策は、coffee --watchをさらに数ステップ実行したかなり単純なBashスクリプトです。これにより、システムログイン以降、作業ディレクトリツリーを監視でき、ファイルの保存/変更ごとにJavaScriptに自動的にコンパイルされますまたは新しいファイルの作成:

http://blog.gantrithor.com/post/11609373640/carefree-coffeescript-auto-compiler

これを行うためのよりエレガントな方法があるかもしれませんが、この実装はうまく機能します=)

2
gsklee

バンドルも必要な場合は、ビルダーが監視とバンドルも提供します: https://github.com/balupton/buildr.npm

(Java | Coffee)スクリプトと(CSS | Less)(Builder | Bundler | Packer | Minifier | Merger | Checker)

1
balupton
gem install stasis
stasis -d

StaticMatic、Middlemanなどの他のすべての静的コンパイルツールと比較して、私が見つけた最良のソリューション。

非常に柔軟で構成可能で、事前設定されたフォルダー構造に依存しません。 controller.rbを追加して、Rubyを作成するだけです。コンパイルの前後に賢いことをするためのたくさんのヘルパー。

https://github.com/winton/stasis

1
vaughan

私はコードキットが好きです:)コーヒースクリプト、sass、less、hamlなどをたくさんの素敵なものでコンパイルするためのシンプルで効果的な方法。 http://incident57.com/codekit/

0
kimballfrank