2015-01-14 9 views
6

Bir proje üzerinde çalışıyordum ve sık sık therubyracer ve libv8 ile ilgili sorunlar yaşıyordum, bu yüzden onları kaldırmaya karar verdim. Bir bağımlılık olarak kullanılan tek şey, zaten kaldırmak istediğim daha az korkuluktu.Raylar uygulamasında therubyracer veya libv8 nedir?

Benim asıl sorum, niçin bunlar ve ortalama uygulamada onlara ihtiyacım var ve eğer öyleyse neden?

+1

o bir JavaScript çalışma zamanını yok varsayılan olarak yüklenmiştir. Dolayısıyla, hedef sistemde varlıkları derlemezseniz veya sistemde bir JavaScript çalışma zamanı varsa, bunlar gerekli değildir. – Doon

+0

Yani internete bağlı olmayan bir CentOS sunucusu buna sahip miydi ya da sahip olmaz mıydı? –

+0

Sunucuda zaten zaten yüklü olan node.js gibi bir JavaScript çalışma zamanı varsa, gerekli değildir. Eğer bir kutuda varlıkları derleme değilseniz, bir JavaScript çalışma zamanı ile centos da gelip gelmediğini bilmiyorum. Less.rb, sadece therubyracer veya therubyrhino kullanıyor görünen commonjs bir bağımlılığı vardır. Daha fazla bilgi için burada cevap göz atın. http://stackoverflow.com/questions/18687575/why-is-the-gem-therubyracer-commented-out-by-default-in-gemfile – Doon

cevap

9

Rails uygulaması bir JavaScript Runtime kullanabilir kendisi için bir kaç şey vardır here okuyunuz: Raylar Varlık Boru Hattı JavaScript sıkıştırma gerçekleştirmek için bir JavaScript Runtime gerektirir

1).

2) Bazı Raylar javascript_include_tag gibi ActionView Yardımcıları, Javascript işlevlerini çalıştırmak için bir Javascript Çalıştırması gerektirir.

Her Rails uygulaması bu özellikleri kullanmaz, dolayısıyla therubyracer gem'in başlangıçta Gemfile öğesinde yorumlanmasının nedeni; Ayrıca, alternatif olarak, Javascript çalışma zamanı olarak NodeJS'yi kullanabileceğinizi unutmayın. Ayrıntılar için

, bkz: Genellikle platformlarda varlık boru hattı için kullanılan

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

http://www.rubydoc.info/docs/rails/ActionView/Helpers/JavaScriptHelper

http://www.rubydoc.info/docs/rails/ActionView%2FHelpers%2FAssetTagHelper%3Ajavascript_include_tag

Proper "Rails" way to perform javascript on specific pages

2

rubyracer aşağıdaki özellikleri sağlamaktadır: Bu rubyracer mücevher kullanmanın birkaç temel faydaları

1. We can write your ruby codes inside js codes. 
2. We can invoke the js functions from ruby codes. 
3. Manipulation of javscript objects & the passing them to javascript functions. 

bulunmaktadır. tüm ayrıntıları

+0

madde 1, js.erb dosyalarıyla ilgili bir şey var mı? –

+0

, raylar denetleyicinize (ajax üzerinden) vurduğunuzda ve uygulamanız/görünümlerinizde/action_name.js.erb dosyasında kodlarınız için gereken bazı etkileşimleri istediğinizde. Bu dosya js kodlarınızı + gömülü Ruby kodlarını da tutacaktır. :) Lütfen kontrol edin: http://richonrails.com/articles/basic-ajax-in-ruby-on-rails – Ajay

+0

Verilen linkte sadece uygulama/görüntüleme/ürün/_save.js.erb için arama yapın: şüpheni temizlemek :) – Ajay