2015-03-04 15 views
10

Bir alt modül içeren bir ana projem var. Modül, modül bağımlılıklarını ve bunların hangi klasöre indirileceğini belirten .bowerrc'u belirten kendi bower.json'a sahiptir. Bu bağımlılıklar, modül HTML'sine bağlanır.Bowerrc çağırırken .bowerrc'nin konumunu belirtme

Ana proje, düğüm bağımlılıklarını yönetmek için package.json kullanır.

"scripts": { 
    "postinstall" : "./node_modules/.bin/bower install ./module/ --config.directory=\"./module/public/bower_components\"" 
} 

Not olun:

kullanıcıların hem npm install ve cd module, bower install, cd ../ (modül bağımlılıkları için) (ana bağımlılıkları için), bir postinstall senaryo package.json eklediğiniz çalıştırmak zorunda önlemek için Bower'ın modülün bağımlılıklarını /module/public/bower_components'a yüklemesini sağlayabilmemin tek yolu, postinstall komut dosyasında directory açık bir şekilde belirtmektir.

Bu bilgi zaten ./module/.bowerrc içerir, bu yüzden bunun farkında olmak istiyorum bower install. Bu, package.json'u bakımını kolaylaştıracak ve module daha taşınabilir hale getirecektir.

Ben de modül dizininde npm install çalıştırmak için ebeveynin package.json yılında postinstall kanca kullanarak, benim modül en package.json içine Bower bağımlılık ve postinstall senaryoyu transfer denedim. Ancak bu yaklaşım modülde sona eriyor. Ebeveynlerin node_modules klasörüne indirilen bağımlılıklar.

Bunu çözmenin daha iyi bir yolu var mı?

+0

Neden iki paket yöneticisine ihtiyacınız var? Belki npm'e yapışabilirsin? – Magomogo

+0

@GrimurD bu problemi çözerse cevabı kabul edebilir misiniz? –

cevap

3

Bower yapılandırması, yapının yapılandırmasını çözmek için aşağıdaki öncelik sırasını kullanır.

  • Yerel .bowerrc
  • Tüm .bowerrc dosyalar yukarı geçerli çalışma dizini dizin ağacı bulunan --config
  • Çevre değişkenler yoluyla http://bower.io/docs/config/

    • CLI argümanlar de Bower Dokümanlar

    • Kullanıcının giriş klasöründe bulunan (0)
    • . n Senin durumunda küresel klasör (/)

    Eğer package.json aynı klasörde bir .bowerrc dosyasını koymak ancak kurulum çalışma almak için önek modülü/kamuoyu ile tüm özelliklerini yapılandırabilirsiniz.

    Tüm bağımlılıkları package.json'daki bir yerden yönetme fikrinizi beğendim.