Zależności umożliwiają efektywne ponowne wykorzystanie kodu. Upewnij się, że wiesz, jak nimi zarządzać w swoich projektach Node.

Zależność to fragment kodu — biblioteka, moduł lub pakiet — którego projekt wymaga do poprawnego działania.

W Node.js zależności i devDependencies to kategorie pakietów, które możesz zdefiniować w pliku package.json, aby zarządzać zależnościami twojego projektu. Poznaj różnice między nimi i dowiedz się, jak wykorzystać je w swoich projektach.

Regularne zależności w projekcie npm

Zwykłe zależności — lub po prostu zależności — to pakiety, których aplikacja wymaga, aby działała zgodnie z przeznaczeniem w środowisku wykonawczym i produkcyjnym.

Zależności mogą obejmować:

  • Biblioteki zewnętrzne oferujące gotowe funkcje, takie jak lodash.
  • Ramy, które zapewniają podstawę lub strukturę do budowania aplikacji, takie jak Express lub React.
  • Sterowniki baz danych, takie jak MongoDB lub sqlite3.
  • Pakiety pomagające w zadaniach związanych z siecią, takie jak Axios lub Socket.io.
instagram viewer

Na przykład, jeśli budujesz CRUD API z Express.js, wyrazić będzie jedną z twoich zależności, ponieważ twój serwer potrzebuje go do działania.

Aby zainstalować zależności środowiska wykonawczego, możesz użyć menedżera pakietów, takiego jak npm, menedżer pakietów węzłówlub Przędza.

Zależności istnieją w obiekcie zależności w pliku package.json. Obiekt zależności przechowuje nazwy i wersje pakietów.

Aby zainstalować pakiet jako zależność za pomocą NPM, uruchom poniższe polecenie:

instalacja npm 

Powyższe polecenie instaluje pakiet i rejestruje go jako zależność twojego projektu w pakiet.json:

// pakiet.json

„zależności”: {
"nazwa-pakietu": "^wersja-pakietu",
}

Kiedy klonujesz projekt z repozytorium internetowego, możesz zainstalować zależności, uruchamiając poniższe polecenie:

instalacja npm

Po uruchomieniu powyższego polecenia menedżer pakietów odczytuje plik pakiet.json plik i instaluje określone zależności i devDependencies z rejestru pakietów.

Zależności programistyczne i jak z nich korzystać

Zależności programistyczne — lub devDependencies — to pakiety, których aplikacja potrzebuje tylko podczas procesu programowania. Innymi słowy, nie są potrzebne w produkcji.

devDependencies może obejmować:

  • Frameworki testowe, takich jak Jest czy Mokka.
  • Test Runners, tacy jak Chai.
  • Lintery i formatery, takie jak Eslint.
  • Narzędzia dokumentacyjne, takie jak Swagger.

Typowym przykładem devDependency jest pakiet Nodemona, który uruchamia ponownie serwer po wykryciu zmian w skryptach.

Możesz zdefiniować devDependencies w pliku devZależności obiekt w A pakiet.json plik. Ten obiekt przechowuje nazwy i wersje pakietów.

Możesz zainstalować pakiet jako devDependency, uruchamiając to polecenie:

instalacja npm  --save-dev

Alternatywnie możesz zainstalować pakiet jako devDependency, uruchamiając to polecenie:

npm instalacja -D 

Powyższe polecenie instaluje i rejestruje pakiet w twoim pakiet.json plik, tak:

// pakiet.json
„devZależności”: {
"nazwa-pakietu": "^wersja-pakietu"
}

Kiedy sklonujesz projekt z repozytorium internetowego, uruchomienie pliku instalacja npm polecenie zainstaluje również devDependencies.

Jednak uruchomienie polecenia z produkcja flag instaluje tylko zależności.

Na przykład:

npm install --produkcja

Po uruchomieniu powyższego polecenia menedżer pakietów odczytuje plik pakiet.json plik i instaluje zależności aplikacji z rejestru pakietów.

Alternatywnie możesz ustawić tzw WĘZEŁ_ENV zmienna do „produkcja”, aby osiągnąć te same wyniki.

Inne rodzaje zależności

Oprócz zależności i devDependencies, Node.js kategoryzuje również pakiety jako Zależności równorzędne I opcjonalneZależności.

Zależności równorzędne

Zależności równorzędne to zależności, których pakiet używa, gdy oczekuje, że w aplikacji korzystającej z niego będzie obecna określona wersja lub kompatybilna wersja innego pakietu.

Celem zależności równorzędnych jest upewnienie się, że pakiet działa poprawnie z jego zależnościami i pozwala uniknąć konfliktów lub problemów ze zgodnością.

W przypadku wersji npm mniejszych niż v7 zależności równorzędne nie są instalowane automatycznie. Raczej kod, który zawiera pakiet, musi zawierać go jako zależność. Jeśli pakiet go nie zawiera, npm zgłosi ostrzeżenie.

Istnieją pod Zależności równorzędne obiekt w pliku package.json:

„zależności równorzędne”: {
"pakiet": „^ wersja”
}

Opcjonalne zależności

Opcjonalne zależności to pakiety, które nie są niezbędne dla podstawowej funkcjonalności projektu, ale mogą zwiększyć jego możliwości, jeśli są dostępne.

Ponieważ opcjonalne zależności nie są wymagane do poprawnego działania projektu, można je pominąć podczas instalacji.

Uruchomienie poniższego polecenia pominie opcjonalne zależności podczas procesu instalacji:

npm install --omit=opcjonalnie

Istnieją pod opcjonalneZależności obiekt w pliku package.json:

„opcjonalne zależności”: {
"pakiet": „^ wersja”
}

Kategorie ułatwiają zarządzanie zależnościami

Skuteczne zrozumienie, zarządzanie i kategoryzowanie zależności pomaga zapewnić wyraźne oddzielenie pakietów wymaganych do produkcji od tych, które są potrzebne tylko podczas programowania.

To rozróżnienie pomaga w efektywnym zarządzaniu zależnościami, właściwym łączeniu i usprawnianiu wdrażania projektu.