Włóczka plug'n'play

npm to standardowy menedżer pakietów dla Node.js. Jednak Facebook od jakiegoś czasu rozwija alternatywne rozwiązanie do zarządzania pakietami o nazwie Yarn . Wygląda na to, że Yarn powoli znika z pliku README GitHuba jako domyślne rozwiązanie, a statystyki na oficjalnej stronie pokazują, że tylko ułamek instalacji pakietów jest przeprowadzany za pomocą Yarna. Niemniej jednak warto spojrzeć dalej, niż tylko na oczywistości.


Yarn jest w pełni kompatybilny z istniejącymi plikami package.json, dzięki czemu można łatwo korzystać z obu rozwiązań w istniejących projektach. Polecenia dla obu rozwiązań różnią się tylko nieznacznie. Poniżej znajduje się porównanie najważniejszych poleceń.:

OpisnpmPrzędza
Zainicjuj npm initinit przędzy
Aktualizacjanpm install -g npmsamodzielna aktualizacja przędzy
Zainstaluj pakietnpm install
--save [nazwa]
dodanie przędzy [nazwa]
Zainstaluj pakietnpm install
--save-dev [nazwa]
dodać przędzę
--dev [nazwa]
Zainstaluj pakiet na całym świecienpm install -g [nazwa]globalne dodanie przędzy [nazwa]
Zainstaluj wszystkie pakietynpm installinstalacja przędzy
Zaktualizuj wszystkie pakietyaktualizacja npmaktualizacja przędzy
Odinstaluj pakietnpm remove [nazwa]przędza usuń [nazwa]

Yarn został zaprojektowany z myślą o wyeliminowaniu niektórych słabości npm. Najbardziej oczywistą różnicą jest poprawiona wydajność: instalacje przyrostowe, wielowątkowość i najnowsza , przełomowa funkcja Plug'n'Play (PNP) znacząco zwiększają wydajność. Plug'n'Play eliminuje potrzebę tworzenia folderu `node_modules` w projekcie, którego liczba plików często osiąga astronomiczne rozmiary . Więcej informacji można znaleźć w oficjalnym dokumencie technicznym Plug'n'Play . Zainstalujemy eslint raz z npm, a następnie z Yarn, za każdym razem z rozgrzaną pamięcią podręczną, aby wyraźnie pokazać różnicę w szybkości (6x!).:

npm 6.5.0
Przędza 1.12.3
Plecy