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.