Ketergantungan memungkinkan penggunaan kembali kode yang efektif. Pastikan Anda tahu cara mengelolanya di proyek Node Anda.
Dependensi adalah bagian dari kode—library, modul, atau paket—yang diperlukan proyek agar berfungsi dengan benar.
Di Node.js, dependensi dan devDependencies adalah kategori paket yang dapat Anda tentukan di file package.json untuk mengelola dependensi proyek Anda. Jelajahi perbedaan mereka dan pelajari cara menggunakannya dalam proyek Anda.
Ketergantungan Reguler dalam Proyek npm
Dependensi reguler—atau, singkatnya, dependensi—adalah paket yang dibutuhkan aplikasi Anda untuk berfungsi sebagaimana mestinya pada waktu proses dan di lingkungan produksi.
Ketergantungan dapat meliputi:
- Pustaka eksternal yang menawarkan fungsionalitas bawaan, seperti lodash.
- Framework yang menyediakan fondasi atau struktur untuk membangun aplikasi, seperti Express atau React.
- Driver basis data, seperti MongoDB atau sqlite3.
- Paket yang membantu tugas terkait jaringan, seperti Axios atau Socket.io.
Misalnya, jika Anda sedang membangun a CRUD API dengan Express.js, cepat akan menjadi salah satu dependensi Anda karena server Anda membutuhkannya agar berfungsi.
Untuk menginstal dependensi runtime, Anda dapat menggunakan manajer paket seperti npm, Manajer Paket Node, atau Benang.
Dependensi ada di bawah objek dependensi dalam file package.json. Objek dependensi menyimpan nama dan versi paket.
Untuk menginstal paket sebagai dependensi menggunakan NPM, jalankan perintah di bawah ini:
instal npm
Perintah di atas menginstal paket dan mendaftarkannya sebagai ketergantungan proyek Anda package.json:
// paket.json
"ketergantungan": {
"nama paket": "^ versi paket",
}
Saat Anda mengkloning proyek dari repositori berbasis web, Anda dapat menginstal dependensi dengan menjalankan perintah di bawah ini:
instal npm
Ketika Anda menjalankan perintah di atas, manajer paket Anda membaca package.json file dan menginstal dependensi dan devDependencies yang ditentukan dari registri paket.
Dependensi Pengembangan dan Cara Menggunakannya
Ketergantungan pengembangan—atau devDepenendensi—adalah paket yang dibutuhkan aplikasi Anda hanya selama proses pengembangan. Dengan kata lain, mereka tidak dibutuhkan dalam produksi.
devDependencies dapat meliputi:
- Kerangka pengujian, seperti Jest atau Mocha.
- Pelari Uji, seperti Chai.
- Linter dan pemformat, seperti Eslint.
- Alat dokumentasi, seperti Swagger.
Contoh umum dari devDepenedency adalah paket Nodemon, yang memulai ulang server Anda saat mendeteksi perubahan pada skrip Anda.
Anda dapat mendefinisikan devDependencies di bawah devDependencies objek dalam a package.json mengajukan. Objek ini menyimpan nama dan versi paket.
Anda dapat menginstal paket sebagai devDependency dengan menjalankan perintah ini:
instal npm --save-dev
Atau, Anda dapat menginstal paket sebagai devDependency dengan menjalankan perintah ini:
npm instal -D
Perintah di atas menginstal dan mendaftarkan paket di package.json berkas, seperti:
// paket.json
"devDependencies": {
"nama paket": "^ versi paket"
}
Saat Anda mengkloning proyek dari repositori berbasis web, jalankan file instal npm perintah juga akan menginstal devDependencies.
Namun, menjalankan perintah dengan produksi flag hanya menginstal dependensi.
Misalnya:
npm instal --produksi
Ketika Anda menjalankan perintah di atas, manajer paket Anda membaca package.json file dan instal dependensi aplikasi Anda dari registri paket.
Atau, Anda dapat mengatur NODE_ENV variabel ke “produksi” untuk mencapai hasil yang sama.
Jenis Ketergantungan Lainnya
Selain dependensi dan devDependencies, Node.js juga mengkategorikan paket sebagai peerDepenecies Dan opsionalDependencies.
Ketergantungan rekan
Ketergantungan rekan adalah ketergantungan yang digunakan sebuah paket ketika mengharapkan versi tertentu atau versi yang kompatibel dari paket lain untuk hadir dalam aplikasi yang menggunakannya.
Tujuan dari dependensi peer adalah untuk memastikan bahwa sebuah paket bekerja dengan benar dengan dependensinya dan menghindari konflik atau masalah kompatibilitas.
Untuk versi npm kurang dari v7, dependensi peer tidak diinstal secara otomatis. Melainkan kode yang menyertakan paket harus menyertakannya sebagai ketergantungan. Jika paket tidak menyertakannya, npm akan memunculkan peringatan.
Mereka ada di bawah peerDependencies objek dalam file package.json:
"peerDependencies": {
"kemasan": "^ versi"
}
Ketergantungan Opsional
Ketergantungan opsional adalah paket yang tidak penting untuk fungsionalitas inti proyek tetapi dapat meningkatkan kemampuannya jika tersedia.
Karena dependensi opsional tidak diperlukan agar proyek berfungsi dengan benar, Anda dapat menghilangkannya selama penginstalan.
Menjalankan perintah di bawah ini akan melewatkan dependensi opsional selama proses instalasi:
npm install --omit=opsional
Mereka ada di bawah opsionalDependencies objek dalam file package.json:
"ketergantungan opsional": {
"kemasan": "^ versi"
}
Kategori Memudahkan Mengelola Ketergantungan Anda
Memahami, mengelola, dan mengkategorikan dependensi secara efektif membantu memastikan pemisahan yang jelas antara paket yang diperlukan untuk produksi dan yang hanya dibutuhkan selama pengembangan.
Perbedaan ini membantu pengelolaan dependensi yang efisien, bundling yang tepat, dan penerapan proyek Anda yang disederhanakan.