Чому я повинен використовувати Bower? [зачинено]


32

Я цілком можу оцінити переваги менеджера пакунків, таких як Python's pip, Node’s npmабо Ruby Gems, оскільки вони роблять набагато більше, ніж додавання файлів у ваш додаток.

Можливо, я пропускаю суть, або мені тупо, але ось негативи, які я бачу:

  • Окремий крок при складанні проекту
  • Окрема залежність для встановлення через інший менеджер пакунків (yo dawg)
  • Більше захаращення у корені проектів із bower.jsonта / або.bowerrc
  • Покладайтеся на оновлення, корекцію та доступність реєстру
  • Деякі імпорти / посилання на речі, такі як зображення, не працюватимуть
  • Величезне перекриття з npm, і часто незрозуміло, який ресурс використовувати, коли

У позитиви я можу бачити, такі:

  • Мені не потрібно завантажувати залежності вручну
  • Необов’язково встановлювати пакети як частину будівельних лісів на основі підказок користувача тощо

Мені б дуже хотілося знати про будь-які переваги, про які я не знаю, і я повинен сказати, що не намагаюся бути провокаційними, які я щиро хочу знати.



Зрештою, всі менеджери пакунків, про яких ви згадуєте, передбачають завантаження залежностей, і вони поділяють деякі ті самі "негативи", які ви вказали для Bower. Аналогічно, Бауер ділиться деякими перевагами npm, pip та rubygems: наприклад, Bower полегшує оновлення залежностей до останньої версії (це велика), і це значно зменшує захаращення у вашому git repo, оскільки ви не потрібно перевіряти код залежності.
sffc

6
Прикро, що це питання було закрито, оскільки воно було "насамперед на основі думки". ОП просить експертного висновку. "Як це допомагає мені в процесі розвитку?"
Дейв Кантер

Схоже, що тенденція полягає в тому, що ви не повинні використовувати цистерни, вона не має інструментів або переваг перед використанням npm у поєднанні з Browserify. Схоже, що галузь заговорила, а кількість модулів для цистерни зменшується, а кількість обертів модулів для цистерн зменшується, а Browrify стає стандартом: quora.com/Why-use-Bower-when-there-is-npm
Брайан Огден

Відповіді:


12

З ПРОЧИТАННЯ :

Bower - це менеджер пакунків для Інтернету. Він пропонує загальне, ненав'язливе рішення проблеми управління пакетними пакетами, відкриваючи при цьому модель залежності пакету через API, який може використовуватися більш впевненим стеком складання. Не існує системних залежностей, між різними додатками немає спільних залежностей, і дерево залежностей є рівним.

Бауер працює над Git і є пакетно-агностичним. Упакований компонент може складатися з будь-якого типу активів та використовувати будь-який вид транспорту (наприклад, AMD, CommonJS тощо).

Бауер має багато переваг інших керівників залежностей. Я впевнений, що є й інші, але переваги, які я помічав до цього часу, включають:

  • Спростіть те, що можна назвати декларативним управлінням залежностями; тобто ви заявляєте про свої залежності в bower.json, щоб інші речі могли їх легко визначити
  • Немає необхідності встановлювати залежності для контролю версій
  • Семантична версія використовується для визначення діапазону прийнятних версій для залежності, що полегшує оновлення до новіших версій у визначеному діапазоні
  • Не потрібно знаходити різні збірки (налагодження, мінімізовані тощо)
  • Прості у використанні різні побудови залежності для dev vs. prod
  • Ви можете розповсюджувати файл bower.json, і кожен може набрати швидкість за допомогою простої "установки bower"

2
Безумовно, бажаю, щоб я написав це питання менш провокаційно. Дійсно, я здогадуюсь, що найважливішою перевагою, яку я пропустив, є використання API як частини процесу складання / риштування. Я б хотів десь побачити його використання в дикій природі.
Віль

Мені стало відомо про Бауера, коли я завантажував кутовий веб-переносник, використовуючи кутовий генератор для Yeoman. Спробуючи це може дати вам уявлення про те, як ним можна користуватися.
Майк Партрідж

Я раніше використовував Yeoman і Grunt Init, і, можливо, це просто те, що мої потреби завжди означали, що компоненти переднього кінця ніколи не будуть відхилятися - вони завжди будуть Angular, jQuery, Mocha і т.д., але я можу побачити, що якщо користувач хоче поміняйте тестову рамку зі списку швидкого вибору швидкого завантаження, що було б корисно. Я думаю, що головна перевага, яка має сенс, - це варіанти завантаження та модифікатори. Ви вважаєте, що це справедливо?
Віль

2
Також портативність. Ви можете розповсюджувати файл bower.json, і кожен може швидко досягти швидкості за допомогою простої "установки bower".
Дейв Кантер

1
s/bower/npm/iі ця відповідь як і раніше стовідсоткова.
Qix
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.