Різниця між ними --save
і, --save-dev
можливо, не відразу помітна, якщо ви спробували їх як у власних проектах. Ось ось кілька прикладів ...
Скажімо, ви створювали додаток, який використовував пакет моменту для розбору та відображення дат. Ваш додаток є планувальником, тому він дійсно потребує запуску цього пакету, як у: не може працювати без нього . У цьому випадку ви б використали
npm install moment --save
Це створило б нове значення у пакеті.json
"dependencies": {
...
"moment": "^2.17.1"
}
Коли ви розвиваєтесь, це дійсно допомагає використовувати такі інструменти, як тестові набори, і може знадобитися жасминове ядро та карма . У цьому випадку ви б використали
npm install jasmine-core --save-dev
npm install karma --save-dev
Це також створить нове значення у пакеті.json
"devDependencies": {
...
"jasmine-core": "^2.5.2",
"karma": "^1.4.1",
}
Вам не потрібен тестовий набір, щоб запустити додаток у нормальному стані, тому це --save-dev
залежність від типу, нічого більше. Ви можете бачити, як якщо ви не розумієте, що насправді відбувається, це трохи важко уявити.
Взяте безпосередньо з документів NPM, залежно від документа #
Залежності
Залежності задаються у простому об'єкті, який відображає назву пакета в діапазон версій. Діапазон версій - це рядок, що містить один або кілька дескрипторів, розділених пробілом. Залежності також можна визначити за допомогою URL-адреси тарболу чи git.
Будь ласка, не ставте тестові джгути чи транспілятори в об'єкт залежностей. Дивіться devDependitions нижче.
Навіть у документах він пропонує вам використовувати --save-dev для модулів, таких як тестові джгути.
Я сподіваюся, що це допомагає і зрозуміло.