La differenza tra --savee --save-devpotrebbe non essere immediatamente evidente se le hai provate entrambe sui tuoi progetti. Quindi, ecco alcuni esempi ...
Diciamo che stavi costruendo un'app che utilizzava il pacchetto moment per analizzare e visualizzare le date. La tua app è uno scheduler, quindi ha davvero bisogno che questo pacchetto funzioni, come in: non può funzionare senza di essa . In questo caso useresti
npm install moment --save
Ciò creerebbe un nuovo valore in package.json
"dependencies": {
...
"moment": "^2.17.1"
}
Quando stai sviluppando, aiuta davvero ad usare strumenti come test suite e potrebbe aver bisogno di jasmine-core e karma . In questo caso useresti
npm install jasmine-core --save-dev
npm install karma --save-dev
Ciò creerebbe anche un nuovo valore in package.json
"devDependencies": {
...
"jasmine-core": "^2.5.2",
"karma": "^1.4.1",
}
Non è necessaria la suite di test per eseguire l'app nel suo stato normale, quindi è una --save-devdipendenza dal tipo, niente di più. Puoi vedere come se non capisci cosa sta realmente accadendo, è un po 'difficile da immaginare.
Tratto direttamente dai documenti NPM # dipendenze
dipendenze
Le dipendenze sono specificate in un oggetto semplice che associa il nome di un pacchetto a un intervallo di versioni. L'intervallo di versioni è una stringa che ha uno o più descrittori separati da spazi. Le dipendenze possono anche essere identificate con un tarball o un URL git.
Non inserire cablaggi di prova o transpiler nell'oggetto delle dipendenze. Vedi devDependencies , di seguito.
Anche nei documenti, ti chiede di usare --save-dev per moduli come i cablaggi di prova.
Spero che questo aiuti ed sia chiaro.