2015-06-10 21 views
22

Jestem przyzwyczajony do prostych i małych projektów JS, w których zależności JS są łączone i minifikowane jako część procesu kompilacji z użyciem czegoś takiego jak gulp, a znacznik script w html zawiera zakodowaną ścieżkę do tego zminimalizowanego pliku JS. To nie jest eleganckie i prawdopodobnie ma kilka wad, ale koncepcyjnie jest to proste podejście.Różnica między altanką, browserify, requirejs, webpack?

Rozumiem, że przy większych projektach warto przyjrzeć się systemom pakowania, takim jak altana, przeglądarka, requirejs, pakiet internetowy itp. Jakie korzyści wynikają z ich używania w przeciwieństwie do sposobu, w jaki przywykłem? Jakie są główne sposoby, które pomagają w procesie rozwoju?

Czy te technologie wspominały mi o konkurentach, czy niektóre z nich spełniają różne cele i mogą być używane razem? Jaka jest różnica między nimi?

Również zajrzałem do webpacka i zostało to opisane w niektórych miejscach tak, jakby zastępowało łyk. Myślałem, że gulp to system kompilacji i różni się od tych narzędzi do pakowania?

EDYCJA: Jak te pojęcia odnoszą się do AMD lub CommonJS?

Odpowiedz

16

Browserify, RequireJS, WebPack to moduły ładujące. Zarówno AMD, jak i CommonJs są typami modułów. Wiele (większość) bibliotek javascript, takich jak JQuery, może być ładowanych jako moduły. Require istnieje od jakiegoś czasu, a jego IP jest pod fundamentem DOJO. Browerify zyskuje na popularności głównie ze względu na stronę serwera JS (węzeł) działa również po stronie klienta.

Client side javascript module loaders na slant.co.

Bower jest menedżer pakietów głównie używany do instalacji repo Git i może również odwołuje się łykiem lub Grunt które są przedniej części narzędzia budowania tj używać optymalizator requireJS do minify itp

Można porównać trzy ładowarki modułowe, Bower nie jest porównywalny, ponieważ po skopiowaniu pakietów dla ciebie to prawie tyle.

+0

Webpack to nie tylko moduł ładujący, ma kilka innych funkcjonalności, na przykład bundler, transpiler. –

+0

Sai Ram, jak widzisz powiedziałem, że mogę zminimalizować itd. Nie, gdzie jest napisane "tylko" moduły ładujące, ale ich głównym celem jest uczynienie aplikacji modularną. – saj

Powiązane problemy