เหตุใดฉันจึงควรใช้ Bower [ปิด]


32

ฉันสามารถชื่นชมประโยชน์ของผู้จัดการแพ็คเกจอย่าง Python pip, Node npmหรือ Ruby Gems เนื่องจากพวกเขากำลังทำมากกว่าการเพิ่มไฟล์ในเส้นทางแอปพลิเคชันของคุณ

บางทีฉันหายไปจุดหรือฉันเป็นป้าน แต่ที่นี่เป็นเชิงลบฉันสามารถดู:

  • แยกขั้นตอนเมื่อสร้างโครงการ
  • แยกการติดตั้งผ่านตัวจัดการแพ็คเกจอื่น (yo dawg)
  • ความยุ่งเหยิงมากขึ้นในโครงการรากด้วยbower.jsonและ / หรือ.bowerrc
  • เชื่อมั่นในรีจิสทรีที่ทันสมัยถูกต้องและพร้อมใช้งาน
  • การนำเข้า / การอ้างอิงถึงสิ่งต่าง ๆ เช่นรูปภาพจะไม่ทำงาน
  • ทับซ้อนขนาดใหญ่ที่มี npm และมักจะไม่ชัดเจนว่าจะใช้ทรัพยากรใดเมื่อใด

บวกฉันสามารถเห็นเหล่านี้:

  • ฉันไม่ต้องดาวน์โหลดการอ้างอิงด้วยตนเอง
  • เลือกติดตั้งแพคเกจเป็นส่วนหนึ่งของนั่งร้านขึ้นอยู่กับผู้ใช้แจ้งหรือไม่ชอบ

ฉันอยากรู้ถึงผลประโยชน์ใด ๆ ที่ฉันไม่รู้และฉันควรจะบอกว่าฉันไม่ได้พยายามยั่วยุฉันอยากรู้อย่างแท้จริง


1
ที่เกี่ยวข้อง: programmers.stackexchange.com/q/174959/34183
Mike Partridge

ในที่สุดผู้จัดการแพคเกจทั้งหมดที่คุณพูดถึงเกี่ยวข้องกับการดาวน์โหลดการอ้างอิงและพวกเขาแบ่งปัน "เชิงลบ" เดียวกันกับที่คุณระบุไว้สำหรับ Bower ในทำนองเดียวกัน Bower แบ่งปันผลประโยชน์บางส่วนของ npm, pip และ rubygems เช่น Bower ทำให้ง่ายต่อการอัปเดตการอ้างอิงของคุณเป็นเวอร์ชันล่าสุด ไม่จำเป็นต้องเช็คอินรหัสการพึ่งพา
sffc

6
เป็นที่น่าเสียดายที่คำถามนี้ถูกปิดเพราะ "อิงกับความคิดเห็นเป็นหลัก" OP กำลังขอความคิดเห็นจากผู้เชี่ยวชาญ "สิ่งนี้ช่วยฉันในกระบวนการพัฒนาได้อย่างไร"
Dave Kanter

ดูเหมือนว่าแนวโน้มคือคุณไม่ควรใช้ bower แต่ไม่มีเครื่องมือหรือข้อดีมากกว่าการใช้ npm รวมกับ Browserify ดูเหมือนว่าอุตสาหกรรมได้พูดและจำนวนโมดูลที่ลดลงสำหรับ bower ลดลงและ npm และ Browserify กำลังกลายเป็นมาตรฐาน: quora.com/Why-use-Bower-when-there-is-npm
Brian Ogden

คำตอบ:


12

จากREADME :

Bower เป็นผู้จัดการแพ็คเกจสำหรับเว็บ มันเสนอวิธีแก้ไขปัญหาทั่วไปที่ไม่ได้มีการกำหนดไว้สำหรับการจัดการแพ็คเกจส่วนหน้าในขณะที่เปิดเผยโมเดลการพึ่งพาแพ็กเกจผ่าน API ที่สามารถใช้งานได้โดยบิลด์สแต็กที่สร้างความคิดเห็นมากขึ้น ไม่มีการพึ่งพาทั้งระบบไม่มีการพึ่งพากันระหว่างแอพที่ต่างกันและโครงสร้างการพึ่งพาอาศัยเป็นแบบแบน

Bower ไหลผ่าน Git และเป็นแพ็คเกจที่ไม่เชื่อเรื่องพระเจ้า ส่วนประกอบที่ทำแพคเกจสามารถประกอบไปด้วยสินทรัพย์ประเภทใดก็ได้และใช้การขนส่งประเภทใดก็ได้ (เช่น AMD, CommonJS เป็นต้น)

Bower มีประโยชน์มากมายของผู้จัดการการพึ่งพาคนอื่น ๆ ฉันแน่ใจว่ามีคนอื่น ๆ แต่ประโยชน์ที่ฉันได้สังเกตเห็นรวมถึง:

  • ลดความซับซ้อนของสิ่งที่อาจเรียกว่าการจัดการการพึ่งพาประกาศ; เช่นคุณประกาศการพึ่งพาของคุณใน bower.json เพื่อให้สิ่งอื่น ๆ สามารถระบุได้อย่างง่ายดาย
  • ไม่จำเป็นต้องพึ่งพาการควบคุมเวอร์ชัน
  • การกำหนดเวอร์ชันเชิงความหมายใช้เพื่อกำหนดช่วงของรุ่นที่ยอมรับได้สำหรับการอ้างอิงซึ่งทำให้ง่ายต่อการอัปเดตเป็นเวอร์ชันใหม่ภายในช่วงที่กำหนด
  • ไม่จำเป็นต้องค้นหาบิวด์ต่าง ๆ (ดีบัก, ย่อขนาด, ฯลฯ )
  • ง่ายต่อการใช้บิลด์ที่แตกต่างกันของการพึ่งพาสำหรับ dev กับผลิตภัณฑ์
  • คุณสามารถแจกจ่ายไฟล์ bower.json และทุกคนสามารถเร่งความเร็วได้ด้วย "bower install" แบบง่าย ๆ

2
แน่นอนฉันต้องการเขียนคำถามในลักษณะที่ยั่วยุน้อย ฉันเดาว่าประโยชน์ที่สำคัญที่ฉันพลาดคือการใช้ API เป็นส่วนหนึ่งของกระบวนการสร้าง / นั่งร้าน ฉันต้องการเห็นการใช้งานมันในป่าแห่งหนึ่ง
Wil

ฉันรู้เรื่อง Bower เมื่อฉันบู๊ตแอพพลิเคชั่น Angular โดยใช้ Angular generator สำหรับ Yeoman การลองทำสิ่งนั้นอาจทำให้คุณรู้ว่าจะใช้งานอย่างไร
Mike Partridge

ฉันเคยใช้ Yeoman และ Grunt Init มาก่อนและบางทีก็เป็นเพราะความต้องการของฉันหมายถึงองค์ประกอบส่วนหน้าจะไม่เบี่ยงเบนไป - พวกเขามักจะเป็น Angular, jQuery, Mocha เป็นต้น แต่ฉันเห็นได้ว่าหากผู้ใช้ต้องการ สลับเฟรมเวิร์กการทดสอบจากรายการตัวเลือกพรอมต์บูตซึ่งจะเป็นประโยชน์ ฉันคิดว่าข้อดีหลักที่สมเหตุสมผลคือตัวเลือก bootstrap และตัวดัดแปลง คุณคิดว่ามันยุติธรรมไหม
Wil

2
ยังพกพาสะดวก คุณสามารถแจกจ่ายไฟล์ bower.json และทุกคนสามารถเร่งความเร็วได้ด้วย "การติดตั้ง bower" ที่ง่าย
Dave Kanter

1
s/bower/npm/iและคำตอบนี้ยังคงเป็นจริง 100%
Qix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.