Apakah itu praktik yang baik untuk hanya menyimpan bower.json
file dan gitignore seluruh bower_components
direktori?
Apakah itu praktik yang baik untuk hanya menyimpan bower.json
file dan gitignore seluruh bower_components
direktori?
Jawaban:
The Halaman Bower resmi menyatakan:
NB Jika Anda tidak membuat paket yang dimaksudkan untuk dikonsumsi oleh orang lain (misalnya, Anda sedang membangun aplikasi web), Anda harus selalu memeriksa paket yang diinstal ke dalam kontrol sumber .
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.
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
node_modules
dist
.tmp
.sass-cache
bower_components
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.
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_components
dir dan check in saja bower.json
dan bower-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:
npm install bower-locker -g
atau
yarn global add bower-locker
lalu buat file kunci berdasarkan file yang ada bower.json
dengan menjalankan:
bower-locker lock
File asli bower.json
akan dinamai ulang menjadibower-locker.bower.json
.gitignore
file Anda "