Bower başlatma işlemi yaparken "ana dosya" özelliği nedir?


106

Bower init'i çalıştırdığınızda özellik ana dosyasının kullanımı nedir ? Arıyordum ve birçok insan şu anda bir amacı olmadığını söylüyor.

Bu doğru mu? Bower'ın belgeleri de bunu açıklamıyor.


3
Bununla karıştırılan başkaları da var gibi görünüyor. Örneğin, bu kameriye eğitiminin yazarı: net.tutsplus.com/tutorials/tools-and-tips/…
Simon Bengtsson

Görünüşe göre mainmülkün tanımı şu anda söz konusu ve çardak github deposunda açık bir sayıda tartışılıyor. Önerilen mevcut tanımlar ve tartışma için buraya bakın: github.com/bower/bower/issues/935
BenjaminGolder

Yanıtlar:


60

Göre Bower.io belgelerinde

ana

Önerilen Tür: Dize veya Dize Dizisi

Paketinizi kullanmak için gerekli birincil oyunculuk dosyaları. Bower bu dosyaları doğrudan kullanmasa da, bower list --json andbower list --paths komutlarıyla listelenir, böylece yapı araçları tarafından kullanılabilirler.

CoffeeScript gibi önişlemci dosyaları derlenmeli, küçültülmüş dosyalar dahil edilmemeli, dosya adları sürümlendirilmemelidir (Kötü: paket.1.1.0.js; İyi: paket.js).

Bence daha çok paket yönetimi için ve Grunt ve Brunch gibi araçlar geliştirin. Örneğin, Bootstrap'in bower.jsongörünümü:

{
  "name": "bootstrap",
  "version": "3.0.3",
  "main": [
    "./dist/css/bootstrap.css",
    "./dist/js/bootstrap.js",
    "./dist/fonts/glyphicons-halflings-regular.eot",
    "./dist/fonts/glyphicons-halflings-regular.svg",
    "./dist/fonts/glyphicons-halflings-regular.ttf",
    "./dist/fonts/glyphicons-halflings-regular.woff"
  ],
  "ignore": [
    "**/.*",
    "_config.yml",
    "CNAME",
    "composer.json",
    "CONTRIBUTING.md",
    "docs",
    "js/tests"
  ],
  "dependencies": {
    "jquery": ">= 1.9.0"
  }
}

Brunch'ta oluşturduğumda, bu dosyaları bower_componentsklasörümdeki klasörümden çekiyor public.


Hangi "belgeler"?
0xcaff

5
Bu gerçekten soruya cevap vermiyor. Belgeler, "Paketinizin birincil uç noktaları" nın rolünü netleştirmez. Main'in Brunch ile ilgisini belirttiniz, ancak bunun Bower ile olan ilişkisini değil.
BenjaminGolder

Sanırım yapmaya çalıştığım nokta, ana dosyaların "bunlar, bower paketimin dağıtmayı amaçladığı dosyalar" açısından çeşitli oluşturma araçlarında kullanılmasıydı. Hala gerçek niyetine göre biraz belirsiz.
Kelly J Andrews

Dokümantasyon bağlantısının çapası öldü. Güncelleme için @Vivian Spencer'ın cevabına bakın.
Timothy Gu

9

Bower'ın JSON Spesifikasyonuna ( https://github.com/bower/spec/blob/master/json.md#main ) göre, "ana" özellik, öncelikle projede kullanılan dosyaları listelemek için kullanılır. Listelenen dosyalar aslında Bower tarafından hiçbir şekilde kullanılmamaktadır, görünüşe göre diğer oluşturma araçları tarafından kullanılmak amacıyla oradadırlar.

İşte resmi şartname:

ana

Önerilen
: Tür Stringveya ArraybirString

Paketinizi kullanmak için gerekli birincil oyunculuk dosyaları. Bower bu dosyaları doğrudan kullanmazken, komutlarla listelenir bower list --jsonve bower list --pathsbu nedenle derleme araçları tarafından kullanılabilirler.

  • CoffeeScript gibi önişlemci dosyaları derlenmelidir.
  • Küçültülmüş dosyaları dahil etmeyin.
  • Dosya adları sürümlendirilmemelidir (Kötü: paket.1.1.0.js; İyi: package.js).

1
Bazı kütüphaneler, ana dosyalar listelenmeden çalışmayacaktır, wiredep mükemmel bir örnek olacaktır.
kboom

@kboom, dediklerinize bağlı bir sorun olabilir: örneğin, pdf.js-görüntüleyicinin css dosyası main-bower-dosyalarını kullanarak kopyalanmayacak, bower.json içine main içine koymalı mıyım? Cevabınız evet ise, aslında her dosya için tam yolu sağlamam gerekiyor mu? Teşekkürler!
trainoasis
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.