2016-05-26 13 views
36

Jaka jest różnica między ładowarkami i wtyczkami w pakiecie internetowym?Ładowarki sieciowe a wtyczki; co za różnica?

documentation for plugins tylko mówi:

korzystać z wtyczek, aby dodać funkcjonalność zazwyczaj związane z wiązek w WebPack.

Wiem, że babel używa programu ładującego dla transformacji jsx/es2015, ale wygląda na to, że inne typowe zadania (na przykład wtyczka copy-webpack) używają wtyczek.

+2

Loader będą przekształcać pliki js rozpoznawalny (a zrobić coś podczas transformacji), wtyczki mogą robić to, czego potrzebują na wyjściach ładujących. –

Odpowiedz

27

Ładowarki wykonują transformację przetwarzania wstępnego praktycznie dowolnego formatu pliku, gdy w kodzie używane jest coś takiego jak require("my-loader!./my-awesome-module"). W porównaniu z wtyczkami są one dość proste, ponieważ (a) eksponują tylko jedną pojedynczą funkcję do pakietu sieciowego i (b) nie są w stanie wpłynąć na faktyczny proces kompilacji.

Wtyczki mogą zintensyfikować integrację z pakietem sieci Web, ponieważ mogą rejestrować przechwyty w systemie kompilacji WebPack i uzyskiwać dostęp (i modyfikować) kompilator i jego działanie, a także kompilację. Dlatego są one potężniejsze, ale także trudniejsze do utrzymania.

17

Dodawanie uzupełniającej i prostszej odpowiedzi.

Ładowarki:

Ładowarki działa na poziomie poszczególnych plików podczas lub przedwiązka jest generowany.

wtyczki:

Wtyczki pracować wiązki lub fragment poziomie, zazwyczaj pracują na końcu procesu wytwarzania pakietu. Wtyczki mogą również modyfikować sposób tworzenia samych pakietów. Wtyczki mają większą kontrolę niż ładowarki.

Tylko dla przykładu można wyraźnie zobaczyć w poniżej obrazu gdzie ładowarki pracuje i gdzie wtyczek pracujemy -

enter image description here Referencje: Article i Image

+3

Dobra robota! Dwa proste zdania i teraz rozumiem różnicę. Przejdź teraz do przepisania biblioteki CAŁKOWITA biblioteka stron internetowych, ponieważ jest to całkowicie niezrozumiały bełkot. – rism