2011-06-22 11 views
3

私はBaristaをRails 2.3アプリケーションで起動しようとしています(これは、時間の経過とともに新しいバージョンのRailsに移行されない可能性があります)。私はバンドルにアプリを切り替えたので、私はGemspecに以下の宝石を追加した。Barista/coffeescript on Rails 2.3をインストールする

gem "barista" 
gem "json" 

実行されたバンドルインストール。さて、私がcoffeescriptを "コンパイル"することを理解する限り、バリスタにはレーキタスクがあります。しかし、それは適切にインストールされていないので、私はレーキでそれを使うことができます。私。私がrake -Tを実行すると、barista:brew

が追加されていることを示唆しているgit hubに対する保留中のプルリクエストが見られましたが、それは見つからないだけです。では、どうやって間違っているのか、より一般的なことをやっているのですか?Rails 2.3.xでbaristaをどうやって起動するのですか?

+0

の下でのRails 3を、 'レールはバリスタを生成しています。このジェネレータの主な効果は、(AFAICT)がbarista_config.rbという初期化子を作成し、あなたが言及したレーキタスクを作成することです。あなたはGitHubソースのテンプレートを見て自分で作成することができます。 –

+0

@Steve Ross私は実際にそれを行いました。あなたが提案して自分のレーキタスクを作成するか、Guradを使用してガードコフェスクリプトを使って私のためにすべてのコンパイルを行います。 – Mark

+0

ガードを使用します。展開する前にコンパイルを気にしないなら、ガードはうまくいきます。また、同じ問題に対処するのではなく、簡単にデプロイできるように出力とパッケージの資産を縮小する 'Jammit'(http://documentcloud.github.com/jammit/)を見てください。 –

答えて

2

私はBaristaを使用してからしばらく前ですが、どのプロジェクトでも使用していないので、確認できません。

しかし、Baristaの利点の1つは、修正されたCoffeeScriptファイルが再コンパイルされるまで要求を処理するのを待つことです。これにより、ブラウザが古いファイルを要求しないようにします。

したがって、RakeタスクでCoffeeScriptファイルをコンパイルする必要はありません。

のCoffeeScript自体は変更が検出されたときにCoffeeScriptsをコンパイルウォッチ機能、とも来る:

coffee -w /path/to/scripts 

私はバリスタを使用して停止した理由は、私がGuardを発見したということだけです。そこで私はguard-coffeescriptを書いて、ファイルを保存した同じ瞬間にCoffeeScriptsをコンパイルしました。それは、ファイルシステム修正事象に依存しているため

  • 高速かつ低CPU消費:

    ガード-のCoffeeScriptはバリスタとCoffeeScriptの比べていくつかの利点があります。

  • 多くの方法で設定できます。複数のソースフォルダと出力フォルダ。
  • Growlのようなシステム通知であっても、エラーが発生したときに即座にフィードバックします。
+0

Thx私はそれを見ています.. – Mark

+0

Dankefürden Tipp!私はバーディスタでもう少しプレイした後、あなたのガードエクステンションを宣伝されたcoffeescriptに使用し始めました。 :) – Mark

1

BaristaのRails 2サポートは、BaristaのREADMEによると、「テストされていません」(これはもともとRails 3用に作られたものです)、互換性の問題がある可能性があります。 therubyracer gem、またはシステムのPATH(またはExecJSでサポートされている他のJSランタイム)のnodeバイナリが必要です。今ERBファイルに<%= javascript_include_tag "foo" %>を追加

  1. は内容

    alert 'Hello, Barista!'

  2. でフォルダapp/coffeescriptsfoo.coffeeという名前のファイルを追加し、そのページをロード:

    これを試してみてください。

あなたはコンパイルfoo.jspublic/javascriptsにあったならば同じように、アラートを取得する必要があります。

+0

あなたの提案に感謝します、悲しいことに、BaristaがRails 2のために(少なくとも私のマシンでは)働いていないように思えます。私はすべてのコーヒースクリプトをあらかじめコンパイルする必要があると思います。 – Mark

+0

@マークバマー。まあ、古い[bistro_car](https://github.com/dcolthorp/bistro_car)を試すこともできます(あなたのPATHに 'coffee'が必要です)。 –

+0

チップをありがとう、私はそれを見ているかもしれないが、私は実際にガードソリューションにはかなり満足しています。 – Mark

1

私はバーストとレールを正常に統合しました。2.3.14。開発では、私はjsファイルを要求すると、coffeescriptファイルが見つかったと即座にコンパイルされます。

また、barista:brew rakeタスクを正常に実行し、jsファイルが生成されました。

私は、ExecJSコンパチブルコンパイラが含まれていない限り、プッシュ前にjsファイルをプリコンパイルする必要があります。これは、@netzpiratのガードソリューションの+1である可能性があります。

参考のため、私はBarista 1.3.0とcoffee-script 2.2を使用しています。それが物事にどのように影響するかはっきりしないが、それは注目に値すると思った。

また、私は私のRakefileでバリスタのタスクをロードするための行を追加:install`ジェネレータ:

# in my Rakefile 
load "barista/tasks/barista.rake" 
+0

結局のところ、共有ホスティングが赤くなってアプリケーションの失敗を引き起こしていたので、私はフライコンパイルでbaristaとcoffee-> JSを削除しなければなりませんでした。それは、私のサーバーのためにcoffee-> jsを見ている/コンパイルするのが少し大変だったようです。上記のようにwatchオプションを指定して 'coffee'を実行するだけで、すべてのcoffee-> js変換が開発時に行われ、コードベースにチェックインされるため、配備されたサーバー上でBaristaを実行する必要はありません。 –

関連する問題