web-dev-qa-db-fra.com

Pourquoi devrais-je utiliser Bower?

Je peux pleinement apprécier les avantages d'un gestionnaire de paquets comme pip de Python, npm de Node, ou Ruby Gems car ils font beaucoup plus que l'ajout de fichiers à votre chemin d'accès aux applications.

Peut-être que je manque le point, ou je suis obtus, mais voici les négatifs je peux voir:

  • Étape séparée lors de la construction d'un projet
  • Dépendance distincte à installer via un autre gestionnaire de packages (yo dawg)
  • Plus d'encombrement dans la racine des projets avec bower.json et/ou .bowerrc
  • Dépendance à ce que le registre soit à jour, correct et disponible
  • Certaines importations/références à des choses comme les images ne fonctionneront pas
  • Énorme chevauchement avec npm, et souvent peu clair quelle ressource utiliser, quand

Les positifs que je peux voir sont les suivants:

  • Je n'ai pas besoin de télécharger les dépendances manuellement
  • Installer éventuellement des packages dans le cadre d'un échafaudage en fonction des invites de l'utilisateur ou similaires

J'aimerais vraiment connaître les avantages que je ne connais pas et je dois dire que je n'essaie pas d'être provocateur, je veux vraiment le savoir.

32
Wil

Du README :

Bower est un gestionnaire de packages pour le Web. Il offre une solution générique et non exprimée au problème de la gestion des packages frontaux, tout en exposant le modèle de dépendance des packages via une API qui peut être consommée par une pile de build plus avisée. Il n'y a pas de dépendances à l'échelle du système, aucune dépendance n'est partagée entre différentes applications et l'arborescence des dépendances est plate.

Bower fonctionne sur Git et est indépendant du package. Un composant conditionné peut être constitué de tout type d'actif et utiliser tout type de transport (par exemple, AMD, CommonJS, etc.).

Bower possède de nombreux avantages des autres gestionnaires de dépendance. Je suis sûr qu'il y en a d'autres, mais les avantages que j'ai remarqués jusqu'à présent incluent:

  • Simplifiez ce que l'on pourrait appeler la gestion déclarative des dépendances; c'est-à-dire que vous déclarez vos dépendances dans bower.json afin que d'autres choses puissent les déterminer facilement
  • Pas besoin de valider les dépendances pour le contrôle de version
  • Le contrôle de version sémantique est utilisé pour aider à définir une plage de versions acceptables pour une dépendance, ce qui facilite la mise à jour vers des versions plus récentes dans la plage définie
  • Pas besoin de localiser diverses versions (débogage, minifié, etc.)
  • Simple à utiliser différentes versions d'une dépendance pour dev vs prod
  • Vous pouvez distribuer le fichier bower.json et tout le monde peut se mettre au courant avec une simple "installation de bower"
12
Mike Partridge