Bower'ı neden kullanmalıyım? [kapalı]


32

Uygulama yolunuza dosya eklemekten çok daha fazlasını yaptıkları için Python's pip, Node's npmveya Ruby Gems gibi bir paket yöneticisinin faydalarını tam olarak anlayabilirim .

Belki de noktayı özlüyorum, ya da iğrenç oluyorum ama işte görebildiğim negatifler :

  • Proje oluştururken ayrı adım
  • Başka bir paket yöneticisi aracılığıyla kurmak için ayrı bağımlılık (yo dawg)
  • Projelerde kök bower.jsonve / veya daha fazla karmaşa.bowerrc
  • Kayıt defterine güven, güncel, doğru ve elverişli
  • Bazı ithalat / imajlar gibi şeylere referanslar işe yaramaz
  • Npm ile büyük örtüşme ve ne zaman, hangi kaynak kullanılacağı belli değil

Görebildiğim pozitifler :

  • Bağımlılıkları manuel olarak indirmek zorunda değilim
  • İsteğe bağlı olarak, kullanıcı isteklerine veya benzerlerine göre paketleri bir iskele parçası olarak kurun.

Farkında olmadığım yararları bilmek isterdim ve gerçekten kışkırtıcı olmaya çalışmadığımı söylemeliyim. Gerçekten bilmek istiyorum.



Sonunda, bahsettiğiniz tüm paket yöneticileri bağımlılıkların indirilmesini içerir ve Bower için listelediğiniz aynı "negatifleri" paylaşırlar. Aynı şekilde, Bower npm, pip ve rubygems özelliklerinin bazılarını paylaşır: örneğin, Bower bağımlılıklarınızı en son sürüme güncellemenizi kolaylaştırır (bu büyük bir durumdur) ve sizden beri git deponuzdaki karmaşayı büyük ölçüde azaltır check-in bağımlılık kodunu girmenize gerek yok.
sffc

6
Utanç verici bir şekilde bu soru “öncelikle görüşe dayalı” olduğu için kapatıldı. OP uzman görüşü istiyor. “Bu bana gelişim sürecinde nasıl yardımcı oluyor?”
Dave Kanter

Trende göre, bower kullanmamanız gerektiği, Browserify ile birlikte npm kullanmanın hiçbir aracı veya avantajı olmadığı görülüyor. : Endüstri konuştu ve modül sayısı önemliyse çardağımıza için azalan ve npm ve Browserify standart haline geliyor gibi görünüyor quora.com/Why-use-Bower-when-there-is-npm
Brian Ogden

Yanıtlar:


12

Gönderen README :

Bower, web için bir paket yöneticisidir. Paket bağımlılık modelini daha düşünülmüş bir yapı yığını tarafından tüketilebilen bir API ile ortaya koyarken, ön uç paket yönetimi sorununa genel, tanımlanmamış bir çözüm sunar. Sistem genelinde bağımlılık yoktur, farklı uygulamalar arasında hiçbir bağımlılık paylaşılmaz ve bağımlılık ağacı düzdür.

Bower Git üzerinden geçiyor ve paket agnostik. Paketlenmiş bir bileşen herhangi bir varlık türünden oluşabilir ve herhangi bir taşıma türünü kullanabilir (örn., AMD, CommonJS vb.).

Bower, diğer bağımlılık yöneticilerinin birçok yararına sahiptir. Eminim ki başkaları da var, ancak şu ana kadar farkettim ki faydaları:

  • Bildirimsel bağımlılık yönetimi olarak adlandırılabilecek şeyleri basitleştirin; yani bower.json'a bağımlılıklarınızı açıklarsınız, böylece diğer şeyler onları kolayca belirleyebilir.
  • Sürüm kontrolüne bağımlılık yapmaya gerek yok
  • Anlamsal versiyonlama, bir bağımlılık için kabul edilebilir bir versiyon yelpazesinin tanımlanmasına yardımcı olmak için kullanılır; bu, tanımlanan aralıktaki daha yeni versiyonlara güncelleme yapmayı kolaylaştırır
  • Çeşitli yapıları bulmaya gerek yok (hata ayıklama, küçültülmüş vb.)
  • Dev vs. prod için farklı bağımlılıklar kullanmak kolaydır
  • Bower.json dosyasını dağıtabilirsiniz ve herkes basit bir "bower yükleme" ile hız kazanabilir

2
Kesinlikle soruyu daha az kışkırtıcı bir şekilde yazabilseydim keşke. Gerçekten, kaçırdığım en önemli yararın, API'yi yapı / iskele işleminin bir parçası olarak kullanmasıdır. Bunu bir yerde vahşi ortamda görmek isterim.
Wil

Yeoman için Angular jeneratörünü kullanarak bir Angular webapp'ı başlattığımda Bower'ın farkına vardım. Bunu denemek size nasıl kullanılabileceği hakkında bir fikir verebilir.
Mike Partridge,

Ondan önce Yeoman ve Grunt Init kullandım ve belki de sadece ihtiyaçlarım her zaman ön uç bileşenlerin asla sapmadığı anlamına geliyordu - her zaman Açısal, jQuery, Mocha vb. Olurdu, ancak bir kullanıcı isterse görebilirim yararlı olacak bir önyükleme istemi seçim listesinden bir test çerçevesini takas edin. Bence mantıklı olan en büyük avantaj bootstrap seçenekleri ve değiştiricileridir. Sence bu adil mi?
Wil

2
Ayrıca taşınabilirlik. Bower.json dosyasını dağıtabilirsiniz ve herkes basit bir "bower yükleme" ile hız kazanabilir.
Dave Kanter

1
s/bower/npm/ive bu cevap hala% 100 doğrudur.
Qix
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.