Bagaimana cara mengubah folder komponen standar bower?

475

Saya sedang membuat proyek baru yang menggunakan bower dari twitter. Saya membuat component.jsonuntuk mempertahankan semua ketergantungan saya seperti jquery. Lalu saya jalankan bower installyang menginstal semuanya dalam folder bernama components. Tetapi saya perlu menginstal komponen dalam folder yang berbeda, misalnya public/components.

Saya telah mencoba mengedit komponen saya. Json menjadi:

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

atau:

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

seperti yang ditunjukkan di https://github.com/twitter/bower/pull/94 tetapi tidak berhasil.

Adam Ramadhan
sumber

Jawaban:

930

Buat file konfigurasi Bower.bowerrc di root proyek (yang bertentangan dengan direktori home Anda) dengan konten:

{
  "directory" : "public/components"
}

Lari bower installlagi.

Adam Ramadhan
sumber
4
Saya changelog saya hanya bisa melihat The value of the json property from .bowerrc is no longer useddan saya kira semuanya baik-baik saja dengan "directory"properti. Baik? github.com/bower/bower/blob/master/CHANGELOG.md
Sergey Kishenin
11
Ini tidak berhasil untuk saya. Bekerja di .bowerrc, tetapi tidak bower.json. Ini sepertinya fitur dasar ...
elliottregan
148
Saya ingin tahu mengapa ini tidak dimasukkan ke dalam file bower.json. Apalagi jika itu adalah pengaturan per proyek anyways.
Hayden
8
Berdasarkan dokumen, harus dalam .bowerrc, bukan bower.json. Aneh ... bower.io/#custom-install-directory
joemfb
20
Di Windows, untuk membuat file yang dimulai dengan ".", Cukup buat file dengan "." Dengan kata lain, sebut saja ".bowerrc."
PeteK68
76

Selain mengedit .bowerrcuntuk mengatur jalur pemasangan default Anda, Anda juga dapat mengatur jalur pemasangan khusus untuk berbagai jenis file.

Ada paket simpul yang disebut bower-installer yang menyediakan perintah tunggal untuk mengelola jalur pemasangan alternatif.

Lari npm install -g bower-installer

Siapkan bower.json Anda

{
  "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"
      ]
    }
  }
}

Jalankan perintah berikut: bower-installer

Ini akan menginstal components/jquery-ui/themes/start/jquery-ui.csske ./src/css, dll

lfender6445
sumber
4
Ini terlihat menjanjikan tetapi bower_componentsdirektori masih dibuat dan diisi. :(
Ben
versi bower apa?
lfender6445
tampaknya menjadi sifat paket. Anda dapat membuka masalah di sini github.com/blittle/bower-installer/issues atau menulis skrip bash untuk menghapus instalasi posting direktori.
lfender6445
1
Saya pikir tidak masuk akal. Saya tidak ingin paket yang masih mengunduh repositori dan dependensi git lengkap dan kemudian hanya menyalin file tertentu untuk saya ... Saya dapat menekan Ctrl + C sendiri. Saya berharap ini hanya akan mengunduh file khusus untuk saya.
Alendorff
ya aku mendengarmu. dalam hal ini saya hanya .bowerrc dan arahkan ke publik / bower atau publik / vendor untuk menjaga proyek tetap sederhana.
lfender6445
61

Saya memiliki masalah yang sama pada windows saya 10. Inilah yang memperbaiki masalah saya

  1. Hapus bower_componentsdi folder root Anda
  2. Buat .bowerrcfile di root
  3. Dalam file tulis kode ini {"directory" : "public/bower_components"}
  4. Jalankan a bower install

Anda akan melihat folder bower_components di folder publik Anda sekarang

Tim Anishere
sumber
23

Sesuatu yang layak disebutkan ...

Seperti disebutkan di atas oleh kontributor lain, menggunakan .bowerrcfile dengan JSON

{ "directory": "some/path" }

diperlukan - NAMUN, Anda mungkin mengalami masalah pada Windows saat membuat file itu. Jika Windows memberi Anda pesan yang meminta Anda untuk menambahkan " nama file ", cukup gunakan editor teks / IDE seperti Notepad ++.

Tambahkan JSON ke file yang tidak disebutkan namanya, simpan sebagai .bowerrc - Anda dapat melakukannya!

Mungkin asumsi yang mudah, tapi saya harap ini menyelamatkan orang lain dari sakit kepala yang tidak perlu :)

Cody
sumber
18
Di Windows, untuk membuat file yang dimulai dengan ".", Cukup buat file dengan "." Dengan kata lain, sebut saja ".bowerrc."
PeteK68
Anda dapat melakukannya dengan git bash juga, cukup ketik:echo >> .bowerrc
Leandro RR
7

Coba letakkan components.jsonfile di publicdirektori aplikasi Anda, daripada direktori root, lalu jalankan kembali bower install... coba ini di direktori home aplikasi Anda:

cp components.json public
cd public
bower install
hagope
sumber
1
yup itu bisa jadi jalan, adakah cara yang sah untuk melakukannya? tetapi sakit masih menganggap ini sebagai jawaban.
Adam Ramadhan
2
Anda dapat menulis skrip bash bower.shuntuk menambahkan direktori yang ingin Anda instal, seperti `public-components.json 'maka akan menghasilkan perintah di atas ..
hagope
2
Kedua jawaban itu kedengarannya sangat super, jelas tidak diinginkan
Jay
-3

Hai saya masalah yang sama dan selesaikan cara ini.

pengguna windows dan vs cant'create .bowerrc file.

di cmd buka folder apa saja

instal paket apa pun yang berisi file .bowerrc forexample

bower install angular-local-storage

plugin ini berisi file .bowerrc. salin itu dan pergi ke proyek Anda dan rekatkan file ini.

dan di studio visual - solusi explorer - tampilkan semua file dan sertakan file .bowerrc yang terlihat proyek

saya menyelesaikan ini :)

Abdullah SARGIN
sumber
Anda dapat menggunakan Cygwinatau Cmderterminal untuk membuat .bowerrcfile.
Francis.TM
4
Cukup buat file dengan nama apa pun, lalu buka PowerShell atau Command Prompt dan ganti namanya.
TrueWill
Anda dapat membuat file dot di windows dengan menentukan nama file sebagai '.name.' - masih tidak banyak orang tahu ini setelah bertahun-tahun tersedia :)
Alex Paven