2013-03-24 43 views
23

Có hai trình quản lý gói cho Javascript phía máy khách, nhưng chúng so sánh như thế nào? Ai đó có thể giải thích cái nào vượt trội về cái gì?Jam vs Bower, sự khác biệt là gì?

+1

Có nhiều hơn hai. https://github.com/component/component và npm để đặt tên cho một số, cũng được sử dụng tích cực cho các gói phía máy khách. Câu trả lời ngắn gọn, đó vẫn là một không gian không ổn định. – generalhenry

+0

Để tốt hơn hoặc tệ hơn, trang web của [component] (http://component.io/) dường như thiếu thông tin. –

+0

Ông đã làm một bài đăng trên blog giải thích suy nghĩ đằng sau nó: http://tjholowaychuk.com/post/27984551477/components – generalhenry

Trả lời

20

Như những người khác nêu trong ý kiến ​​đã có một vài lựa chọn thay thế trong không gian này vượt ra ngoài chỉ Jam và Bower.

  • Component
  • Ender
  • Volo

Cả hai nhằm mục đích cung cấp một cách để gói lên tài sản của bạn và quản lý sự phụ thuộc giữa chúng cho khách hàng. Cả Bower và Jam đều xuất hiện lần đầu vào năm 2012 - tháng 9 và tháng 5 tương ứng. Cả hai đều có sẵn thông qua nút/npm và nếu tất cả những gì bạn muốn làm là giải quyết các phụ thuộc giữa các thư viện công cộng như xương sống, gạch dưới, jquery, vv cho ứng dụng của bạn thì giải pháp sẽ hoạt động và cho phép bạn một số tùy chọn cơ bản để kiểm soát phiên bản , nơi đặt nó trong dự án của bạn và kiểm tra các bản cập nhật.

Đối với những gì khác biệt - Bower có mức độ thấp hơn một chút so với Jam, điều này giúp người dùng có thể sử dụng nhiều hơn. Bạn có thể tạo các thành phần bower cho nhiều hơn là chỉ các thư viện JavaScript. Jam tập trung hơn vào các thư viện JavaScript kiểu AMD. Với Jam, bạn có thể chỉ định các phụ thuộc của bạn trong tệp package.json mà bạn sẽ sử dụng với các thành phần npm trong khi Bower đã chọn component.json theo quy ước. Giới hạn với Bower là nó chỉ tìm nạp các phụ thuộc của bạn, bạn vẫn cần một hệ thống xây dựng nếu bạn muốn sử dụng Require.js hoặc các giải pháp khác mà Jam đã chọn để bạn nhận được miễn phí. Bower đang nhận được sự hỗ trợ từ Twitter và một vài dự án khác (Ender, Yeoman).

Xin lỗi nếu điều này không chính xác, nhưng một giới hạn bổ sung của Jam là nó không cho phép bạn tạo các thành phần của riêng bạn để phân phối trong một kho lưu trữ riêng tư. Đây là một cái gì đó Bower cho phép bạn cấu hình như một điểm cuối trong .bowerrc nhưng tôi vẫn chưa tìm thấy một cách để làm điều đó trong Jam. Có lẽ tôi đã không tìm kiếm đủ tốt nhưng nó xuất hiện có ít nhất một ngã ba cho mứt tư nhân.

Một vài tốt khác đọc:

+3

Đối với bất cứ ai vấp phải câu hỏi này, điều quan trọng cần lưu ý là bower đang chuyển từ component.json sang bower. json cho các tập tin cấu hình của nó. https://groups.google.com/forum/?fromgroups#!topic/twitter-bower/Dcq8G0en1WI –

+1

với mứt bạn có thể lưu trữ các kho lưu trữ địa phương của riêng bạn https://github.com/caolan/jam#running-your-own -người kho-cá nhân-kho-hoặc-gương –

5

Sử dụng sự phân hủy sau của một số các nhà quản lý gói phổ biến mà bạn có thể quyết định những gì bạn muốn sử dụng trong bạn phát triển.Nó so sánh factos như

  • dù người quản lý sử dụng package.json hoặc hình thức khác của bộ mô tả
  • những tính năng thực hiện nó hỗ trợ (giàn giáo, biên soạn, có trung tâm đăng ký)
  • tốc độ
  • hình thức hỗ trợ gói (js chỉ, js và css, js html và css)
  • loại mô-đun được hỗ trợ
  • và dĩ nhiên một số ghi chú dựa trên quan điểm cá nhân

https://github.com/wilmoore/frontend-packagers