Bower'ın varsayılan bileşenler klasörü nasıl değiştirilir?


475

Twitter'dan bower kullanan yeni bir proje yapıyorum. component.jsonJquery gibi tüm bağımlılığımı korumak için bir yarattım . Sonra bower installher şeyi adlı bir klasöre yükler çalıştırın components. Ancak bileşenleri farklı bir klasöre yüklemem gerekiyor, örn public/components.

Components.json'umu düzenlemeyi denedim:

{
  "name": "test",
  "version": "1.0.0",
  "directory": "public/",
  "dependencies": {
    "jquery": "*"
  }
}

veya:

{
  "name": "test",
  "version": "1.0.0",
  "componentsDirectory": "public/",
  "dependencies": {
    "jquery": "*"
  }
}

https://github.com/twitter/bower/pull/94 içinde gösterildiği gibi ama çalışmıyor.

Yanıtlar:


930

İçerikle proje kökünde (ana dizininizin aksine) bir Bower yapılandırma dosyası.bowerrc oluşturun :

{
  "directory" : "public/components"
}

bower installTekrar koş .


4
Ben sadece görebiliyorum changelog The value of the json property from .bowerrc is no longer usedve her şeyi "directory"özellik ile Tamam sanırım . Sağ? github.com/bower/bower/blob/master/CHANGELOG.md
Sergey Kishenin

11
Bu benim için işe yaramıyor. .Bowerrc içinde çalışır, ancak bower.json içinde çalışmaz. Bu çok basit bir özellik gibi görünüyor ...
elliottregan

148
Bunun neden bower.json dosyasına konulmayacağını merak ediyorum. Özellikle de zaten proje başına bir ayar ise.
Hayden

8
Dokümanlara dayanarak, bower.json değil .bowerrc içinde olmalıdır. Garip ... bower.io/#custom-install-directory
joemfb

20
Windows'da, "." İle başlayan bir dosya oluşturmak için, dosyayı "" ile başlayan bir basitçe oluşturun. " Başka bir deyişle, sadece ".bowerrc" deyin.
PeteK68

76

.bowerrcVarsayılan yükleme yolunuzu ayarlamak için düzenlemeye ek olarak , farklı dosya türleri için özel yükleme yolları da ayarlayabilirsiniz.

Alternatif yükleme yollarını yönetmek için tek bir komut sağlayan bower-installer adlı bir düğüm paketi vardır .

Çalıştırmak npm install -g bower-installer

Bower.json ürününüzü ayarlayın

{
  "name" : "test",
  "version": "0.1",
  "dependencies" : {
    "jquery-ui" : "latest"
  },
  "install" : {
    "path" : {
      "css": "src/css",
      "js": "src/js"
    },
    "sources" : {
      "jquery-ui" : [
        "components/jquery-ui/ui/jquery-ui.custom.js",
        "components/jquery-ui/themes/start/jquery-ui.css"
      ]
    }
  }
}

Aşağıdaki komutu çalıştırın: bower-installer

Bu kuracak components/jquery-ui/themes/start/jquery-ui.cssiçin ./src/css, vs


4
Bu umut vericidir, ancak bower_componentsdizin hala oluşturulur ve doldurulur. :(
Ben

bower'ın hangi versiyonu?
lfender6445

paketin doğası gibi görünüyor. burada github.com/blittle/bower-installer/issues bir sorun açabilir veya yükleme sonrası dizinini kaldırmak için bir bash betiği yazabilirsiniz.
lfender6445

1
Bence bir anlamı yok. Hala tam git repo ve bağımlılıkları indiren paketi istemiyorum ve sonra sadece belirli dosyaları benim için kopyalar ... Kendim Ctrl + C tuşlarına basabilirim. Benim için sadece belirli dosyaları indirmesini umuyordum.
Alendorff

evet seni duyuyorum. bu durumda ben sadece bir .bowerrc ve projeyi basit tutmak için kamu / kameri veya kamu / satıcı işaret ediyorum.
lfender6445

61

Windows 10'umda da aynı sorunu yaşadım. Sorunum bu şekilde giderildi

  1. bower_componentsKök klasörünüzde silin
  2. .bowerrcKökte dosya oluşturma
  3. Dosyaya bu kodu yazın {"directory" : "public/bower_components"}
  4. Koş bower install

Şimdi ortak klasörünüzde bower_components klasörünü görmelisiniz


23

Bahsetmeye değer bir şey ...

Yukarıda diğer katılımcılar tarafından belirtildiği gibi .bowerrc, JSON ile bir dosya kullanma

{ "directory": "some/path" }

gerekli - ANCAK, o dosyayı oluştururken Windows'ta bir sorunla karşılaşabilirsiniz. Windows size bir " dosya adı " eklemenizi isteyen bir mesaj verirse , Notepad ++ gibi bir metin düzenleyici / IDE kullanın.

JSON'u adlandırılmamış bir dosyaya ekleyin, .bowerrc olarak kaydedin - hazırsınız!

Muhtemelen kolay bir varsayım, ama umarım bu başkalarına gereksiz baş ağrısını kurtarır :)


18
Windows'da, "." İle başlayan bir dosya oluşturmak için, dosyayı "" ile başlayan bir basitçe oluşturun. " Başka bir deyişle, sadece ".bowerrc" deyin.
PeteK68

git bash ile de yapabilirsiniz, basitçe şunu yazın:echo >> .bowerrc
Leandro RR

7

components.jsonDosyayı publickök dizin yerine uygulamanızın dizinine koymayı deneyin , ardından yeniden çalıştırın bower install... bunu uygulama ana dizininizde deneyin:

cp components.json public
cd public
bower install

1
evet bu bir yol olabilir, bunu yapmanın yasal bir yolu var mı? ama yine de bunu bir cevap olarak sayıyorum.
Adam Ramadhan

2
bower.sh`` public-components.json '' gibi yüklemek istediğiniz dizinin başına bir bash betiği yazabilirsiniz , daha sonra yukarıdaki komutları üretecektir ..
hagope

2
Bu cevapların her ikisi de kesinlikle arzu edilmeyen süper hacky geliyor
Jay

-3

Merhaba ben aynı sorun ve bu yolları çözmek.

windows kullanıcı ve vs cant'create .bowerrc dosya.

cmd'de herhangi bir klasöre git

örnek olarak .bowerrc dosyası içeren paketleri kurun

bower install angular-local-storage

bu eklenti .bowerrc dosyası içerir. kopyalayın ve projenize gidin ve bu dosyayı yapıştırın.

ve visual studio - çözüm gezgini - tüm dosyaları göster ve proje görülen .bowerrc dosyasını dahil

bu yolları çözerim :)


dosya oluşturmak için Cygwinveya Cmderterminal kullanabilirsiniz .bowerrc.
Francis.TM

4
Dosyayı herhangi bir adla oluşturun, ardından bir PowerShell veya Komut İstemi açın ve yeniden adlandırın.
TrueWill

Dosya adını '.name' olarak belirterek pencerelerde nokta dosyası oluşturabilirsiniz. - Hala bu kadar uzun yıllar sonra bunu pek kimse bilmiyor :)
Alex Paven
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.