Зависности омогућавају ефективну поновну употребу кода. Уверите се да знате како да управљате њима у својим Ноде пројектима.
Зависност је део кода — библиотека, модул или пакет — који је пројекту потребан да би исправно функционисао.
У Ноде.јс, зависности и девДепенденциес су категорије пакета које можете да дефинишете у датотеци пацкаге.јсон да бисте управљали зависностима вашег пројекта. Истражите њихове разлике и научите како да их користите у својим пројектима.
Редовне зависности у нпм пројекту
Уобичајене зависности — или, једноставно, зависности — су пакети које ваша апликација захтева да би радила како је предвиђено током извршавања и у производним окружењима.
Зависности могу укључивати:
- Спољне библиотеке које нуде унапред изграђене функције, као што је лодасх.
- Оквири који пружају основу или структуру за изградњу апликација, као што су Екпресс или Реацт.
- Драјвери базе података, као што су МонгоДБ или склите3.
- Пакети који помажу у задацима везаним за мрежу, као што су Акиос или Соцкет.ио.
На пример, ако градите а ЦРУД АПИ са Екпресс.јс, изразити ће бити једна од ваших зависности јер је вашем серверу потребна да би функционисао.
Да бисте инсталирали зависности времена извршавања, можете користити менаџер пакета као што је нпм, менаџер пакета чворова, или Пређа.
Зависности постоје под објектом зависности у датотеци пацкаге.јсон. Објекат зависности чува имена и верзије пакета.
Да бисте инсталирали пакет као зависност користећи НПМ, покрените наредбу испод:
нпм инсталл
Горња команда инсталира пакет и региструје га као зависност вашег пројекта пацкаге.јсон:
// пацкаге.јсон
"зависности": {
"Назив пакета": "^верзија-пакета",
}
Када клонирате пројекат из веб-базираног спремишта, можете инсталирати зависности тако што ћете покренути наредбу испод:
нпм инсталл
Када покренете горњу команду, ваш менаџер пакета чита пацкаге.јсон датотеку и инсталира наведене зависности и девДепенденциес из регистра пакета.
Развојне зависности и како их користити
Зависности развоја—или девДепененденциес—су пакети који су вашој апликацији потребни само током процеса развоја. Другим речима, они нису потребни у производњи.
девДепенденциес могу укључивати:
- Тестирање оквира, као што су Јест или Моцха.
- Тест Руннерс, као што је Цхаи.
- Линтери и форматери, као што је Еслинт.
- Алати за документацију, као што је Сваггер.
Уобичајени пример девДепенденци је пакет Нодемон, који поново покреће ваш сервер када открије промене у вашим скриптама.
Можете дефинисати девДепенденциес под девДепенденциес објекат у а пацкаге.јсон фајл. Овај објекат чува имена и верзије пакета.
Можете инсталирати пакет као девДепенденци покретањем ове команде:
нпм инсталл --саве-дев
Алтернативно, можете инсталирати пакет као девДепенденци покретањем ове команде:
нпм инсталл -Д
Горња команда инсталира и региструје пакет у вашем пацкаге.јсон фајл, овако:
// пацкаге.јсон
"девДепенденциес": {
"Назив пакета": "^верзија-пакета"
}
Када клонирате пројекат из веб-базираног спремишта, покрећете нпм инсталл команда ће такође инсталирати девДепенденциес.
Међутим, покретање команде са производње флаг инсталира само зависности.
На пример:
нпм инсталл --продуцтион
Када покренете горњу команду, ваш менаџер пакета чита пацкаге.јсон датотеку и инсталира зависности ваше апликације из регистра пакета.
Алтернативно, можете подесити НОДЕ_ЕНВ променљива у „производње” за постизање истих резултата.
Друге врсте зависности
Осим зависности и девДепенденциес, Ноде.јс такође категорише пакете као пеерДепенециес и оптионалДепенденциес.
Зависности од вршњака
Пеер зависности су зависности које пакет користи када очекује да ће одређена верзија или компатибилна верзија другог пакета бити присутна у апликацији која га користи.
Сврха зависности од колега је да обезбеди да пакет исправно ради са својим зависностима и да избегне конфликте или проблеме са компатибилношћу.
За нпм верзије мање од в7, пеер зависности се не инсталирају аутоматски. Уместо тога, код који укључује пакет мора да га укључи као зависност. Ако га пакет не укључује, нпм ће подићи упозорење.
Они постоје под пеерДепенденциес објекат у датотеци пацкаге.јсон:
"пеерДепенденциес": {
"пакет": "^верзија"
}
Опционе зависности
Опционе зависности су пакети који нису неопходни за основну функционалност пројекта, али могу побољшати његове могућности ако су доступне.
Пошто опционе зависности нису потребне да би пројекат исправно функционисао, можете их изоставити током инсталације.
Покретање наредбе у наставку ће прескочити опционе зависности током процеса инсталације:
нпм инсталл --омит=опционо
Они постоје под оптионалДепенденциес објекат у датотеци пацкаге.јсон:
"опционе зависности": {
"пакет": "^верзија"
}
Категорије олакшавају управљање вашим зависностима
Ефикасно разумевање, управљање и категоризација зависности помаже да се обезбеди јасно раздвајање између пакета потребних за производњу и оних који су потребни само током развоја.
Ова разлика помаже ефикасном управљању зависностима, правилном повезивању и поједностављеној примени вашег пројекта.