Polski frontend

Piotr Kowalski — JavaScript, Front-end oraz Node.js

Dlaczego nie dodajemy do repozytorium Git katalogu node_modules?

Poszukujecie odpowiedzi na pytanie, dlaczego nie dodajemy katalogu node_modules do repozytorium i dlaczego nie push-ujemy go do origina jakiś przeważnie jest GitHub? Odpowiedź w dalszej części.

Co to jest node_modules?

Katalog node_modules przechowuje wszystkie zainstalowane zależności projektu. Zawiera również zależności zależności.

W dużych projektach, ten katalog może ważyć dużo megabajtów.

Dlaczego NIE DODAJEMY node_modules do repozytorium? Bo dużo waży - szkoda, pobierać tyle MB podczas klonowania projektu Nie chcemy wersjonować czyjegoś kodu Aktualizacja paczek wymusiła by na nas mnóstwo zmian w projekcie

Nie wrzucamy katalogu node_modules na GitHuba.

Jak się zabezpieczyć?

Zaraz po stworzeniu projektu, tj. po stworzeniu pliku package.json, należy stworzyć plik .gitignore, w którym wpisujemy katalog node_modules/.

Hint: Zawsze dodaję slash na końcu linijki z katalogiem, dzięki czemu wiem, że mam do czynienia z katalogiem, a nie z plikiem.

Co zrobić, gdy już dodało się taki katalog? Usunąć ten katalog z dysku komputera Dodać plik .gitignore w katalogu głównym projektu Dopisać w tym pliku linijkę node_modules/ Stworzyć rewizję (commit)

Od teraz możemy śmiało instalować zależności.

Kiedy warto dodać katalog node_modules do repozytorium?

Znam 2 przypadki:

Kiedy chcemy przyspieszyć proce deploymentu i nie pobierać za każdym razem zależności projektu. Kiedy proces deploymentu nie posiada dostępu do ściągania danych.