Saya baru saja melihat buku masak resmi Symfony yang benar-benar menjawab pertanyaan yang tepat ini, dengan mengutip "Saat ini, Anda mungkin harus menggunakan aset yang diunduh oleh Bower alih-alih menambahkan direktori ke .gitignorefile Anda "
Pastikan untuk memeriksa tautan dalam kutipan, itu membahas beberapa pro dan kontra. Pro utama menyebutkan bahwa memeriksa mereka memastikan bahwa dependensi Anda selalu tersedia, selama repositori Anda tersedia. Tidak peduli apa yang terjadi pada Bower, GitHub, atau apa pun yang dibutuhkan, sebaliknya.
Terima kasih untuk artikel menarik ini. Jadi untuk saat ini kami masih belum memiliki "file kunci" yang setara untuk membekukan versi.
Pierre de LESPINAY
1
@PierredeLESPINAY Hanya untuk tingkat atas. Apa yang hilang setara dengan fitur npm shrinkwrap.
passy
3
Mereka juga mengatakan ini di posting blog mereka "Pada akhirnya, pilihan untuk memeriksa atau tidak semua direktori / bower_components Anda terserah Anda ...".
Krishnaraj
3
Alasan di balik memeriksa mereka adalah bahwa suatu hari perpustakaan mungkin menghilang dari internet atau mereka mungkin down time yang pada gilirannya dapat menyebabkan kegagalan pembangunan. Sebagai pengguna Maven / Gradle, saya tidak pernah berpikir untuk memeriksa dependensi.
File .gitignore dalam proyek Yeoman AngularJS yang baru dibuat memiliki bower_components (dan node_modules) terdaftar untuk diabaikan (jika Anda tidak tahu Yeoman itu adalah alat perancah web yang sangat terkenal untuk aplikasi web modern, jadi itu cukup baik untuk saya!):
Ada waktu & tempat untuk kedua pendekatan. Untuk Yeoman adalah tepat untuk mengandalkan bower.json karena ini adalah alat dalam rantai alat dan harus tetap hidup dan bernapas dengan ekosistem bower. Untuk aplikasi web yang dapat digunakan, umumnya merupakan praktik yang baik untuk melakukan dependensi dan mempertahankan lebih banyak kontrol.
Jika Anda menggunakan Grunt dan Node dengan Bower, masuk akal untuk meletakkan bower_components di .gitignore Anda karena ketika Anda menjalankan grunt serve atau grunt build, ia mengurus dependensi untuk Anda, saya yakin itu sebabnya di Yeoman mereka menambahkannya ke .gitignore
The Yeoman Generator pra-mengisi Gitignore berkas dengan bower_components, tetapi juga pra-diisi dengan direktori lain saya akan berpikir akan diperlukan untuk aplikasi akhir (seperti www) jadi saya melakukan riset.
Saya menemukan bahwa www / index.html adalah versi yang diperkecil dari app / index.html. Direktori aplikasi dan kontennya (termasuk bower_components) berisi file sumber yang diperlukan untuk direktori output (www). Anda mengkomit direktori sumber ke dalam source-control (yaitu git) tetapi tidak menghasilkan file (yaitu www). Manajer paket seperti bower dan npm dimaksudkan untuk digunakan selama fase build / generation dan artefaknya tidak dimaksudkan untuk diperiksa ke dalam kontrol sumber.
Pada akhirnya, sumber yang Anda periksa di git adalah konfigurasi minimum yang diperlukan untuk membangun sisa proyek untuk tujuan pengembangan atau penyebaran.
Adalah baik untuk mengabaikan /bower_componentsdir dan check in saja bower.jsondan bower-locker.bower.jsonfile jika Anda membuat file kunci menggunakan bower-locker yang ditulis oleh Shawn Lonas .
Sebelum bower-locker dibuat, ada kerugian yang disebabkan oleh masalah bower tidak memiliki kemampuan menyusut tetapi dapat dikurangi dengan perpustakaan di atas.
Jalankan perintah berikut untuk mencapainya:
npm install bower-locker -g
atau
yarn global add bower-locker
lalu buat file kunci berdasarkan file yang ada bower.jsondengan menjalankan:
bower-locker lock
File asli bower.jsonakan dinamai ulang menjadibower-locker.bower.json
.gitignore
file Anda "Jawaban:
The Halaman Bower resmi menyatakan:
Pastikan untuk memeriksa tautan dalam kutipan, itu membahas beberapa pro dan kontra. Pro utama menyebutkan bahwa memeriksa mereka memastikan bahwa dependensi Anda selalu tersedia, selama repositori Anda tersedia. Tidak peduli apa yang terjadi pada Bower, GitHub, atau apa pun yang dibutuhkan, sebaliknya.
sumber
File .gitignore dalam proyek Yeoman AngularJS yang baru dibuat memiliki bower_components (dan node_modules) terdaftar untuk diabaikan (jika Anda tidak tahu Yeoman itu adalah alat perancah web yang sangat terkenal untuk aplikasi web modern, jadi itu cukup baik untuk saya!):
.gitignore
sumber
Ada waktu & tempat untuk kedua pendekatan. Untuk Yeoman adalah tepat untuk mengandalkan bower.json karena ini adalah alat dalam rantai alat dan harus tetap hidup dan bernapas dengan ekosistem bower. Untuk aplikasi web yang dapat digunakan, umumnya merupakan praktik yang baik untuk melakukan dependensi dan mempertahankan lebih banyak kontrol.
Inilah artikel bagus yang saya suka membahas hal ini.
sumber
Jika Anda menggunakan Grunt dan Node dengan Bower, masuk akal untuk meletakkan bower_components di .gitignore Anda karena ketika Anda menjalankan grunt serve atau grunt build, ia mengurus dependensi untuk Anda, saya yakin itu sebabnya di Yeoman mereka menambahkannya ke .gitignore
sumber
The Yeoman Generator pra-mengisi Gitignore berkas dengan bower_components, tetapi juga pra-diisi dengan direktori lain saya akan berpikir akan diperlukan untuk aplikasi akhir (seperti www) jadi saya melakukan riset.
Saya menemukan bahwa www / index.html adalah versi yang diperkecil dari app / index.html. Direktori aplikasi dan kontennya (termasuk bower_components) berisi file sumber yang diperlukan untuk direktori output (www). Anda mengkomit direktori sumber ke dalam source-control (yaitu git) tetapi tidak menghasilkan file (yaitu www). Manajer paket seperti bower dan npm dimaksudkan untuk digunakan selama fase build / generation dan artefaknya tidak dimaksudkan untuk diperiksa ke dalam kontrol sumber.
Pada akhirnya, sumber yang Anda periksa di git adalah konfigurasi minimum yang diperlukan untuk membangun sisa proyek untuk tujuan pengembangan atau penyebaran.
sumber
Adalah baik untuk mengabaikan
/bower_components
dir dan check in sajabower.json
danbower-locker.bower.json
file jika Anda membuat file kunci menggunakan bower-locker yang ditulis oleh Shawn Lonas .Sebelum bower-locker dibuat, ada kerugian yang disebabkan oleh masalah bower tidak memiliki kemampuan menyusut tetapi dapat dikurangi dengan perpustakaan di atas.
Jalankan perintah berikut untuk mencapainya:
atau
lalu buat file kunci berdasarkan file yang ada
bower.json
dengan menjalankan:File asli
bower.json
akan dinamai ulang menjadibower-locker.bower.json
sumber