Bower_component'lar gitignored mi?


Yanıtlar:


149

Resmi Bower sayfa belirtti:

Not : Başkaları tarafından tüketilmesi amaçlanan bir paket yazmıyorsanız (örneğin, bir web uygulaması oluşturuyorsanız), yüklü paketleri her zaman kaynak denetiminde kontrol etmelisiniz .

Alıntıdaki bağlantıyı kontrol ettiğinizden emin olun, bazı profesyonel ve eksilerini tartışıyor. Bahsettiğimiz temel özellik, onları kontrol etmeniz, deponuz mevcut olduğu sürece bağımlılıklarınızın her zaman kullanılabilir olmasını sağlar. Bower, GitHub'a ne olursa olsun ya da başka ne gerekirse gerekirdi.


1
Bu ilginç makale için teşekkürler. Şimdilik sürümleri dondurmak için eşdeğer bir "kilit dosyası" yok.
Pierre de LESPINAY

1
@PierredeLESPINAY Yalnızca en üst seviye için. Eksik olan npm shrinkwrap özelliğinin eşdeğeridir.
passy

3
Ayrıca bunu "Nihayetinde, / bower_components dizininizin tümünü kontrol edip etmeme seçeneği size kalmış ..." blog yazısında da diyorlar.
Krishnaraj

3
Onları kontrol etmenin arkasındaki sebep, bir gün kütüphanenin internetten kaybolabileceği ya da bir süre kapalı olabileceği ve bu da derleme hatalarına neden olabileceğidir. Maven / Gradle kullanıcısı olarak asla bağımlılıkları kontrol etmeyi düşünmüyorum.
Krishnaraj

7
Yüklü paketleri kaynak kontrolüne kontrol etmek için resmi Bower sayfasındaki tavsiye 2014 yılında kaldırıldı: github.com/bower/bower.github.io/commit/…
kullanıcı

52

.Gitignore bir yeni oluşturulan dosya Yeoman angularjs projesine göz ardı edilecek listelenen bower_components (ve node_modules) sahiptir (yani benim için yeterli değil bu yüzden, modern webapps için çok saygın bir web iskele aracıdır Yeoman bilmiyorsanız!):

.gitignore

node_modules
dist
.tmp
.sass-cache
bower_components

9

Her iki yaklaşım için de bir zaman ve bir yer var. Yeoman için bower.json'a güvenmek uygundur, çünkü bu bir alet zincirinde bir araçtır ve bower ekosistemi ile yaşamaya ve nefes almaya devam etmelidir. Konuşlandırılabilir bir web uygulaması için, bağımlılıkları taahhüt etmek ve daha fazla kontrol sağlamak genellikle iyi bir uygulamadır.

İşte bunu tartıştığım hoş bir yazı .


6

Bower ile Grunt ve Node kullanıyorsanız .gitignore'nuza bower_component'leri koymak mantıklıdır, çünkü homurdanma servisini veya grunt yapısını çalıştırdığınızda sizin için bağımlılıklarla ilgilenir, eminim Yeoman'da .gitignore


5

Yeoman jeneratör dolu önceden .gitignore bower_components dosyayı, ama aynı zamanda ben biraz araştırma yaptım bu yüzden (www gibi) nihai uygulama için ihtiyaç olacağını düşünürdüm diğer dizinleri ile önceden doldurulmuş.

Www / index.html uygulamasının / index.html uygulamasının küçültülmüş bir sürümü olduğunu keşfettim. Uygulama dizini ve içeriği (bower_components dahil) çıktı dizini (www) için gereken kaynak dosyalarını içerir. Kaynak dizinleri kaynak denetimi (yani git) olarak yaparsınız, ancak oluşturulan dosyalarda (örn. Www) işlemezsiniz. Bower ve npm gibi paket yöneticilerinin yapım / üretim aşamasında kullanılması ve bunların eserlerinin kaynak kontrolünde kontrol edilmesi amaçlanmamıştır.

Sonuç olarak, git kontrol ettiğiniz kaynak geliştirme veya dağıtım amacıyla projenin geri kalanını oluşturmak için gereken minimum yapılandırmadır.


0

Shawn Lonas tarafından yazılmış bower-locker kullanarak kilit dosyası oluşturursanız /bower_components, dir ve görmezden gelin ve dosya bower.jsonve bower-locker.bower.jsondosya göz ardı etmek iyidir .

Bower-locker oluşturulmadan önce, brinkwrap özelliği olmayan bir bower meselesinin neden olduğu dezavantaj vardı, ancak yukarıdaki kütüphane tarafından hafifletilebilir.

Bunu başarmak için aşağıdaki komutları çalıştırın:

npm install bower-locker -g

veya

yarn global add bower-locker

ardından çalıştırarak mevcut bower.jsondosyaya göre kilit dosyası oluşturun :

bower-locker lock

Orijinal bower.jsondosya yeniden adlandırılacaktırbower-locker.bower.json

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.