Bower
Es ist immer noch sehr beliebt bei den Entwicklern Front-End, auch wenn es nur sehr wenige Funktionen. Jedes Frontend-Paket nutzt es. Es gibt auch eine initiative to merge bower into npm.
Bower ist für die Client-Seite optimiert und unterstützt nur flache Abhängigkeitsbäume, d. H. each library must be used only once (da es teuer ist, verschiedene Versionen derselben Bibliothek an den Client zu liefern), und die Abhängigkeitsbeschränkungen müssen vom Benutzer gelöst werden.
Sie können erwarten, dass alle Front-End-bezogenen in der Bower-Registrierung (bower search <some keyword>
) finden - meiner Meinung nach, das ist der größte Vorteil der Bower in Bezug auf andere Paket-Manager.
volo
Ich habe nicht noch für mehr als 5 Minuten in Jahren verwendet. Ich weiß es nicht, but from what I can see es enthält einige Build-Tool, die Grunt-Benutzer sehr vertraut ist.
npm
Ja, npm steht für Manager-Knoten-Paket. Aber heutzutage kannst du es für alles verwenden; Menschen sind nicht mehr nur npm install
Dinge und erwarten, dass sie funktionieren nur in der Knotenumgebung. Zum Beispiel gibt es viele npm packages for Twitter Bootstrap.
Npm ist für die serverseitige Verwendung mit einer verschachtelten Abhängigkeitsstruktur optimiert. Jede Abhängigkeit kann ihre eigenen Abhängigkeiten haben, die ihre eigenen haben können, und so weiter. Dies beseitigte Abhängigkeitsversionskonflikte, da jede Abhängigkeit ihre eigene Version von z. Unterstreichen. Die nächsten npm version 3 will flatten the dependency tree:
Mit npm @ 3, wird Ihr Knoten modules viel flacher sein. Alle Ihre Abhängigkeiten und die meisten Ihrer Subabhängigkeiten (und (Unter-) + Abhängigkeiten) sitzen auf der obersten Ebene nebeneinander. Nur wenn Konflikte auftreten, werden Module auf tieferen Ebenen installiert. Dies sollte Windows-Benutzern die Arbeit erleichtern.
Einige Vorteile ich mit npm sehen:
- Es wird von allen anderen Paketmanager verwendet wird (Komponente, Bower, volo, JSPM, usw.);
- Ermöglicht die Verwendung von Build-Skripts;
- Viele Werkzeuge sind für introspecting npm-basierte Pakete
npm ist für JavaScript, um die Paket-Manager.
Ab Februar 2013 war meiner Meinung nach die folgenden. Bitte nicht mehr berücksichtigen.
npm
Es ist besser, mit ihm zu haften, wenn Sie mit einem Knoten Projekt sind, es nur sehr wenige Projekte gibt, die auch für Browser zur Verfügung stehen ...
Bower
Bower ist die Pop-Typ jetzt. Sie haben viele Projekte unter ihrer Haube, und die Projektbetreuer halten sie gerne im Bower-Register auf dem Laufenden ...
Es ist eine Schande, dass er manchmal ein kleiner Buggy ist.
volo
ich nicht volo, da so für mehr als 5 Minuten versucht, aber von dem, was ich es aussieht sehen konnte, flexibler zu sein als Bower.
Ein negativer Punkt für Volo ist, dass ihre Projekte sehr veraltet sind.
http://stackoverflow.com/questions/18641899/difference-between-bower-and-npm – Stefan
Wenn Sie hier diese Frage lesen und eine Antwort von 2015 wollen, finden Sie in meiner aktualisierten Antwort. – gustavohenke
[Bower könnte in npm] (https://github.com/bower/bower/issues/1520) eher bald zusammengeführt werden. –