Jenis-jenis dependensi

Dependensi dibutuhkan untuk berbagai tujuan. Beberapa dependensi diperlukan untuk membangun proyek Anda, yang lain dibutuhkan saat Anda menjalankan program Anda. Dengan demikian ada sejumlah jenis dependensi yang dapat Anda miliki (misalnya ` dependensi </ 0> , devDependencies </ 0> , dan peerDependencies </ 0> ).</p>

Anda package.json </ 0> akan berisi semua dependensi ini:</p>

{
   " package-b": "^ 1.2.1" }, " my-project",
   "dependencies": {
     "package-a": "^ 1.0.0"
   },
   "devDependencies": {
     "package-b": "^ 1.2.1"
   },
   peerDependencies ": {
     " package-c ":" ^ 2.5.4 "
   },
   " optionalDependencies ": {
     " package-d ":" ^ 3.1.0 "
   }}
`</pre> 

Kebanyakan orang hanya memiliki ` dependensi </ 0> dan  devDependencies </ 0> , namun masing-masing penting untuk dipahami.</p>

dependensi </ 0> </h5>

Ini adalah dependensi normal Anda, atau lebih tepatnya yang Anda butuhkan saat menjalankan kode Anda (misalnya React atau ImmutableJS).

devDependencies </ 0> </h5>

Ini adalah dependensi pengembangan Anda. Ketergantungan yang Anda butuhkan di beberapa titik dalam alur kerja pengembangan namun tidak saat menjalankan kode Anda (misalnya Babel atau Aliran).

peerDependencies` </h5> Intensitas rekan adalah jenis dependensi khusus yang hanya akan pernah muncul jika Anda menerbitkan paket Anda sendiri. Memiliki ketergantungan rekan berarti paket Anda memerlukan ketergantungan yang sama persis dengan orang yang memasang paket Anda. Ini berguna untuk paket seperti react </ 0> yang perlu memiliki satu salinan react-dom </ 0> yang juga digunakan oleh orang yang menginstalnya.</p>
optionalDependencies </ 0> </h5>

Opsional dependensi hanya itu: opsional. Jika mereka gagal untuk menginstal, Yarn masih akan mengatakan proses instalasi berhasil.

Ini berguna untuk dependensi yang tidak akan selalu bekerja pada setiap mesin dan Anda memiliki rencana mundur jika tidak dipasang (misalnya Watchman).

bundledDependencies </ 0> </h5>

Kumpulan nama paket yang akan dibundel saat mempublikasikan paket.

Ketergantungan yang dibundel harus ada di dalam proyek Anda. Fungsinya pada dasarnya sama dengan dependensi normal. Mereka juga akan dikemas saat menjalankan paket benang </ 0> .</p>

Normal dependensi biasanya terinstal dari npm registry. Bundled dependencies berguna dalam kasus dependensi normal tidak cukup:

  • Bila Anda ingin menggunakan kembali perpustakaan pihak ketiga yang tidak berasal dari npm registry atau yang sudah dimodifikasi.
  • Bila Anda ingin menggunakan kembali proyek Anda sendiri sebagai modul.
  • Bila Anda ingin mendistribusikan beberapa file dengan modul Anda.