2012-03-12 12 views
35

Instalowałem tory (v3) na moim systemie Linux Ubuntu & Instalacja nie powiodła się narzekanie na brakujące środowisko uruchomieniowe javascript. Zrobiłem trochę wyszukiwania & okazuje się, że szyny wymagają środowiska uruchomieniowego javascript do zainstalowania na platformie jego działania.Dlaczego rails wymaga JavaScript Runtime?

Podczas gdy system Windows jest dostarczany w pakiecie z jscript domyślnie. Moje pudełko Ubuntu nie miało js runtime & Naprawiłem problem instalując plik node.js (V8).

AFAIK, środowisko wykonawcze js jest wymagane do wykonania kodu javascript & rails to po prostu framework sieciowy, w którym są osadzone javascript. Pliki JavaScript działają tylko na komputerach klienckich.

Tak, Dlaczego szyny wymagają JavaScript Runtime?

+3

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

+0

Prawdopodobnie dla CoffeeScript, gdybym musiał zgadywać. – SLaks

+0

Istnieje odpowiedź, ale zgadzam się, że jest to trochę nielogiczne i denerwujące dla szyn. Ale cokolwiek. –

Odpowiedz

28

Zajrzyj do Rails Asset Pipeline. Robi fantazyjne rzeczy z plikami JavaScript (i CSS). W szczególności:

  1. Przekształca coffeescript w JavaScripcie
  2. Łączy wszystkie pliki javascript w jednym
  3. To minifies ten plik

Środowisko wykonawcze JavaScript jest used for minification.

+0

, więc jest to potrzebne tylko w fazie rozwoju? –

+0

@David 天宇 Wong to zależy od tego, czy kompilujesz swoje zasoby w produkcji lub rozwoju – tybro0103

+4

Warto zauważyć, że przetwarzanie kodu JavaScript (bez jego wykonywania) * nie wymagałoby * głównie środowiska wykonawczego JavaScript. Powodem, dla którego potok Railsowy potrzebuje środowiska wykonawczego JavaScript, jest przetwarzanie za pomocą narzędzi takich jak CoffeeScript i wulgaryzmy, że * same są implementowane w JavaScript *, a więc wymagają użycia środowiska wykonawczego. –

1

Railsguides mówi, że ma do czynienia z kompresją:

Będziesz potrzebować ExecJS obsługiwane środowisko wykonawcze w celu wykorzystania uglifier. Jeśli korzystasz z systemu Mac OS X lub Windows, w twoim systemie operacyjnym zainstalowane jest środowisko uruchomieniowe JavaScript. Sprawdź dokumentację ExecJS, aby uzyskać informacje na temat wszystkich obsługiwanych środowisk wykonawczych JavaScript.

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

Pomyślałem widziałem Szyny faktycznie sprawdzić ważność obu stylów i JavaScript w swojej aplikacji, ale może to była tylko SASS prepreocessing.

Powiązane problemy