2012-02-17 22 views
5

Şu anda jquery, backbone.js ve d3.js. gibi bazı javascript kitaplıklarının yoğun kullanımını sağlayan bir Rails uygulaması geliştiriyorum. Jquery için jquery-rails gem, omurga için backbone-rails var. Ama bunun gibi hiçbir şey d3.js.Javascript kitaplıklarını raylarda güncel tutmanın en iyi yolu nedir?

Javascript'i d3.js'den depoma kopyaladım, bu bana biraz kirli geliyor, çünkü d3 güncellendiğinde tekrar kopyalamam gerekiyor (ve dikkat etmeliyim, bu d3 güncellendi!) . Git altmodülleri hakkında düşündüm, ama depoyu her kontrol ettiğimde onları elimden çıkarmak zorundayım. Bundler'ın d3 deposunun belirli bir sürümünü kontrol etmesine izin vermenin bir yolu olabilir mi?

Üçüncü taraf javascript kitaplıklarını raylarda nasıl güncelleştirirsiniz? Tercih edilen bir yolu var mı?

+1

Bunları GIT dışında bırakın ve el ile yapın. –

cevap

5

Neden bir d3 raylı taş oluşturmuyorsunuz? Şimdiki konvansiyon, bu javascript kütüphanelerini artık kendi raylarında, şimdi Rails 3.1'de yer alan jiletli raylara koymak gibi görünüyor. Şimdi daha çok iş var ama yolun aşağısında ödeme olabilir. Topluluğa yardımcı olursunuz ve uygulamanızda kolay güncellemeler yapmanızı sağlar.

+0

Yep. Aşağıdaki soruya bakın: http://stackoverflow.com/questions/9525381/asset-pipeline-encoding-problems-utf-8-vs-ascii-8bit-with-external-gem – iblue

7
bu downvoted var niçin

Emin değilim ...

Ama elle yapmak söylüyor yorum ile anlaşmak zorunda kalacağım. Onu deponuzdan çıkarmayacağım - bunun için çağrı yapmayın; Mevcut sürümünüzü korumak istiyorsunuz - ancak otomatik olarak güncellemesini tavsiye etmem.

Bu kararlılık içindir. Eğer JS gibi "ağır kullanım" yaparsanız, bir kütüphane en son sürümünde, bir quirk - ya da çalıştığınız bir hata için bir bugfix bile - kodunuzda hasara yol açabilir. JQuery, iki sürüm arasında, attr() ve prop()'un nasıl işlendiğini ayarladıktan sonra böyle bir şey yaptık.

Böylece her zaman el kütüphaneleri güncellerseniz:

  • Her zaman değişiklikler kamu yapmadan önce bazı ayrıntılı testler yapmak zorunda onlar değiştirdiğinizde biliyorum ve.
  • Eğer isterseniz - performans için ya da en yeni tuhaflıklarda ya da her neyse etrafta çalışmaya zaman ayırmak istiyorsanız, kütüphanenin eski bir sürümü ile kalabilirsiniz.

Bu yardımcı olur umarım!

+0

@Xavier Holt ile görüşün. Sorunuza cevap vermezken, bence doğru tavsiyeler aldınız. ** Bir kez ** jQuery'yi test etmeden güncelledik ve kötü şeylerin olduğunu gördük. Bir bağımlılığı güncelledikten sonra tam bir UI testi için – Tass

+0

+1. ExtJS'i yükseltmek, UI'mizin korkunç bir kısmını kırdı. – Brandan

İlgili konular