2015-06-10 11 views
22

Ich bin an einfache und kleine JS-Projekte gewöhnt, bei denen die JS-Abhängigkeiten als Teil des Build-Prozesses verkettet und minimiert werden, indem man etwas wie gulp benutzt und das Skript-Tag im HTML den hartkodierten Pfad zu dieser minimierten JS-Datei enthält. Es ist nicht elegant und hat wahrscheinlich einige Nachteile, aber konzeptionell ist es ein einfacher Ansatz.Unterschied zwischen bower, browserify, requirejs, webpack?

Aber bei größeren Projekten verstehe ich, dass es gut ist, Verpackungssysteme wie bower, browserify, requirejs, webpack usw. zu betrachten. Welchen Nutzen bringt es, sie zu benutzen, anstatt wie ich es gewohnt bin? Was sind die wichtigsten Möglichkeiten, um den Entwicklungsprozess zu unterstützen?

Sind diese Technologien ich Konkurrenten einander genannt, oder erfüllen einige von ihnen unterschiedliche Zwecke und können zusammen verwendet werden? Was ist der Unterschied zwischen ihnen?

Auch ich schaute in Webpack und es wird an einigen Stellen beschrieben, als ob es ein Ersatz für Schluck ist. Ich dachte, Schluck ist ein Build-System und anders als diese Verpackungswerkzeuge?

EDIT: Wie beziehen sich diese Konzepte auf AMD oder CommonJS?

Antwort

16

Browserify, RequireJS, WebPack sind alle Modullader. Sowohl AMD als auch CommonJs sind Arten von Modulen. Viele (meist) Javascript-Bibliotheken wie JQuery können als Module geladen werden. Require gibt es schon eine Weile und seine IP ist unter der DOJO-Stiftung. Browerify gewinnt vor allem aufgrund der serverseitigen JS (Node) an Popularität.

Client side javascript module loaders auf slant.co.

Bower ist ein Paket-Manager hauptsächlich verwendet Git repos zu installieren, und es kann auch einen Link in GULP oder Grunt, die Werkzeuge Frontend bauen sind, dh sie den requireJS Optimierer minify usw.

Sie können die drei vergleichen Modullader, Bower ist nicht vergleichbar wie einst seine kopierten Pakete für Sie, das ist es so ziemlich.

+0

webpack ist nicht nur Modullader, es hat auch einige andere Funktionalitäten wie Bundler, Transpiler. –

+0

Sai Ram, wie Sie sehen können Ich sagte, erfordern können minimieren usw., nein, wo es "nur" Modul Lader sagt, aber ihr Hauptzweck ist es, Ihre Anwendung modular zu machen. – saj

Verwandte Themen