2012-03-12 10 views
35

私のUbuntu Linux Boxにレール(v3)をインストールしました&インストールに失敗したため、javascriptランタイムが不足しています。私はいくつかのルックアップを行った&レールは、実行しているプラ​​ットフォームにインストールされているjavascriptランタイムを必要とすることが判明した。レールにJavaScriptランタイムが必要なのはなぜですか?

デフォルトでは、Windowsにはjscriptがバンドルされています。私のUbuntuボックスにjsランタイムがありません& node.js(V8)をインストールして問題を解決しました。

AFAIK、javascriptコード&を実行するにはjsランタイムが必要です。railsは、JavaScriptが埋め込まれた単なるWebフレームワークです。 Javascriptファイルはクライアントマシン上でのみ実行されます。

だから、 なぜJavaScriptのランタイムが必要ですか?

+3

http://guides.rubyonrails.org/asset_pipeline.html – lucapette

+0

おそらくCoffeeScriptのために、私は推測しなければならなかった。 – SLaks

+0

答えがありますが、これは非凡で迷惑なものです。しかし、何でも。 –

答えて

28

Rails Asset Pipelineを参照してください。それは、JavaScript(とCSS)ファイルで素晴らしいものです。注目すべきこと:

  1. それは、JavaScriptの
  2. へのCoffeeScriptを変換し、それがファイル

はJavaScriptランタイムがused for minificationであることをminifies 1

  • にすべてのJavaScriptファイルを兼ね備えています。

  • +0

    ですので、開発にのみ必要ですか? –

    +0

    @David天宇あなたは資産を生産または開発でコンパイルするかどうかによって異なります – tybro0103

    +4

    JavaScriptを処理する(実行せずに)* JavaScriptランタイムを必要としないことに注意してください。 RailsのアセットパイプラインがJavaScriptランタイムを必要とするのは、CoffeeScriptやuglifierのようなツールを使ってJavaScript *で実装されているため、ランタイムを使用する必要があるためです。 –

    1

    Railsguidesは、それが圧縮に関係していると言う:

    あなたはuglifier使用するためには、ランタイムをサポートExecJSが必要になります。 Mac OS XまたはWindowsを使用している場合は、オペレーティングシステムにJavaScriptランタイムがインストールされている必要があります。サポートされているすべてのJavaScriptランタイムについては、ExecJSのドキュメントを参照してください。

    http://guides.rubyonrails.org/asset_pipeline.html#javascript-compression

    私はRailsが実際にスタイルシート、アプリ内のjavascriptの両方の有効性をチェック見ていたと思ったが、多分それはちょうどSASSのprepreocessingました。

    関連する問題