Recraftory

Node.js - Package Manager (npm)

Apa Itu npm

  • npm adalah alat untuk mengelola library tambahan
  • npm membantu install, update, dan menghapus library
  • npm otomatis terpasang saat install Node.js

Contoh Sederhana:

  • Butuh server → install express
  • Butuh auto-reload → install nodemon

Kenapa Butuh Package Manager

  • Tidak perlu membuat semua fitur dari nol
  • Menghemat waktu dan tenaga
  • Menggunakan solusi yang sudah banyak dipakai
  • Membuat aplikasi lebih cepat jadi

Apa Itu Package

  • Package adalah kode siap pakai buatan orang lain
  • Bisa berupa fungsi kecil atau framework besar
  • Package disimpan di internet (npm registry)

Contoh Package:

  • express → backend server
  • dotenv → konfigurasi rahasia
  • cors → izin akses API

File package.json

  • File utama penjelasan project Node.js
  • Menyimpan daftar package dan script
  • Menjadi “identitas” project

Isi Umum:

  • Nama project
  • Dependency
  • Script menjalankan aplikasi

Contoh file package.json:

{
  "name": "my-app",
  "version": "1.0.0",
  "dependencies": {
    "express": "^4.18.0"
  },
  "scripts": {
    "start": "node index.js"
  }
}

Package Registry

  1. Package registry adalah dimana semua package disimpan di satu tempat.
  2. "npm registry" adalah package registry resmi untuk nodejs.
  3. Ketika kita meng-install package, npm akan men-download package dari npm registry ke komputer kita.
  4. Package di download ke folder node_modules

Menginstall Package

  • Install lewat terminal
  • npm otomatis mengunduh file
  • Package masuk ke folder node_modules

Contoh:

npm install lodash

Dependency vs DevDependency

  • Dependency → dibutuhkan saat aplikasi berjalan
  • DevDependency → hanya saat proses development

Contoh:

  • Dependency: express
  • DevDependency: nodemon

Folder node_modules

  • Berisi semua package
  • Ukurannya besar
  • Tidak perlu diupload ke Git
  • Bisa dibuat ulang dengan npm

npm Script

  • Perintah singkat untuk menjalankan aplikasi
  • Disimpan di package.json

Contoh Umum:

  • start → jalankan aplikasi
  • dev → mode development

package-lock.json

  • File otomatis dari npm
  • Mengunci versi package
  • Menjaga konsistensi antar komputer