Lompat ke konten utama
←

Backend Node.js Dasar: Rute, Middleware, dan Pengujian

Pelajaran 3 dari 19

Model server: request, respons, dan rute

package.json, semver, dan skrip npm

Setelah pelajaran ini kamu bisa membaca package.json: memilih dependencies atau devDependencies, menentukan versi yang diterima rentang caret, menjalankan skrip lewat npm run, dan menjelaskan peran package-lock.json.

  • ±13 menit
  • 3 latihan
  • Diperiksa 28 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Proyek Node menyimpan keterangannya di package.json: nama, jenis modul, skrip, dan daftar paket yang dibutuhkan. Paket yang dipakai kode saat aplikasi berjalan, seperti kerangka web, masuk dependencies. Alat yang hanya dipakai selama pengembangan, seperti pustaka pengujian, masuk devDependencies; npm install nama-paket --save-dev menaruhnya di sana. Panduan Node.js merangkum bedanya: dependencies dibawa bersama aplikasi ke produksi.

{
  "name": "api-toko-roti",
  "type": "module",
  "private": true,
  "scripts": {
    "dev": "node --watch server.js",
    "test": "node --test"
  },
  "dependencies": { "express": "^5.1.0" },
  "devDependencies": { "supertest": "^7.1.0" }
}

npm mengikuti semver: nomor versi berbentuk MAYOR.MINOR.PATCH. Tanda caret di depan versi, seperti ^5.2.13, menerima semua rilis minor dan patch mulai 5.2.13 sampai sebelum 6.0.0. Versi tanpa tanda, seperti 5.2.13, hanya menerima rilis itu. Ketiga angkanya dibandingkan sebagai bilangan satu per satu, jadi 5.10.0 lebih baru daripada 5.2.13 walaupun teks "5.10.0" diurutkan lebih dulu.

Bagian scripts berisi perintah bernama. npm run dev menjalankan perintah di scripts.dev; nama yang tidak ada di sana ditolak dengan pesan skrip tidak ditemukan. package-lock.json mencatat versi persis setiap paket yang terpasang, termasuk paket turunannya, sehingga isi node_modules sama di setiap komputer selama berkas itu tidak berubah. Berkas kunci itu ikut disimpan di Git, sedangkan node_modules tidak.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Kode server API Toko Roti Mentari mengimpor express, sedangkan supertest hanya dipakai di berkas pengujian. Bagaimana keduanya dicatat di package.json?

Pilih satu jawaban

Latihan 3 dari 3

scripts di package.json berisi { "start": "node server.js", "test": "node --test" }. Apa yang terjadi saat menjalankan npm run dev?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 1 lagi