Tài liệu Bower cho biếtTại sao nên kiểm tra các thành phần bower?
N.B. Nếu bạn không phải là tác giả của một gói được dự định sẽ được người khác tiêu thụ (ví dụ: bạn đang xây dựng một ứng dụng web), bạn nên luôn kiểm tra các gói đã cài đặt trong điều khiển nguồn.
Có ai có câu trả lời hay không về lý do không?
Nếu tôi đang làm cho một ứng dụng web tôi không muốn repo của tôi lộn xộn với bản cập nhật trong phiên bản của thư viện X.
Tôi chỉ muốn cập nhật phụ thuộc bower.json. Tôi nghĩ rằng hầu hết các dự án sẽ có một bước xây dựng hoặc tương tự, ví dụ với grunt. Bước xây dựng sẽ đảm bảo gọi cài đặt/cập nhật bower trước khi xây dựng, để các tệp đó có mặt cho concat/minification etc. Hoặc thậm chí là một bản sao đơn giản cho một số thư mục dist.
Tôi có thiếu gì đó không?
Vâng tôi đoán tôi nghĩ tôi có thể sử dụng 1.2.3 thay vì ~ 1.2.3 hoặc tương tự. (Hoặc thậm chí là ok nếu tôi tin tưởng thư viện để sử dụng semver) Nhưng tôi đoán nếu thư viện X có trong nó bower.json một depedency đến thư viện Y và sử dụng> = 2.3.4 hoặc tương tự sau đó tôi gặp rắc rối. Sẽ được mong đợi một tính năng shrinkwrap. –
Có, và khóa xuống các phiên bản, thậm chí sâu, là không đủ vì thẻ và phiên bản có thể được ghi đè lên. Đó là lý do tại sao 'npm shrinkwrap' cần sự so khớp checksum của deps và đó là những gì chúng ta muốn trong Bower shrinkwrap ngay từ đầu. –
Đây là lý do tương tự như để phát triển trò chơi. Bạn không nâng cấp các gói mọi lúc, do đó bạn có thể đóng băng hoặc "thu nhỏ" chúng ở một phiên bản cụ thể để ngăn sự chậm trễ trong việc triển khai hoặc xây dựng. –