Perbedaan antara --save
dan --save-dev
mungkin tidak segera terlihat jika Anda telah mencoba keduanya di proyek Anda sendiri. Jadi, inilah beberapa contoh ...
Katakanlah Anda sedang membangun aplikasi yang menggunakan paket momen untuk mem-parsing dan menampilkan tanggal. Aplikasi Anda adalah penjadwal sehingga sangat membutuhkan paket ini untuk dijalankan, seperti pada: tidak dapat berjalan tanpanya . Dalam hal ini yang akan Anda gunakan
npm install moment --save
Ini akan menciptakan nilai baru di package.json Anda
"dependencies": {
...
"moment": "^2.17.1"
}
Ketika Anda sedang berkembang, sangat membantu untuk menggunakan alat-alat seperti test suites dan mungkin memerlukan inti melati dan karma . Dalam hal ini yang akan Anda gunakan
npm install jasmine-core --save-dev
npm install karma --save-dev
Ini juga akan menciptakan nilai baru di package.json Anda
"devDependencies": {
...
"jasmine-core": "^2.5.2",
"karma": "^1.4.1",
}
Anda tidak perlu rangkaian uji untuk menjalankan aplikasi dalam keadaan normal, jadi ini adalah --save-dev
ketergantungan tipe, tidak lebih. Anda dapat melihat bagaimana jika Anda tidak mengerti apa yang sebenarnya terjadi, itu agak sulit untuk dibayangkan.
Diambil langsung dari NPM docs docs # dependencies
Ketergantungan
Ketergantungan ditentukan dalam objek sederhana yang memetakan nama paket ke rentang versi. Rentang versi adalah string yang memiliki satu atau lebih deskriptor yang dipisahkan oleh ruang. Ketergantungan juga dapat diidentifikasi dengan tarball atau URL git.
Tolong jangan menaruh test harness atau transpiler di objek dependensi Anda. Lihat devDependencies , di bawah ini.
Bahkan dalam dokumen, ia meminta Anda untuk menggunakan --save-dev untuk modul seperti test harness.
Saya harap ini membantu dan jelas.