Menjalankan Skrip, process.argv & process.env

REPL, menjalankan berkas, membaca argumen baris perintah dan variabel lingkungan, serta kode keluar.

Part 2 dari 24 ± 25 menit Gratis

Dua cara menjalankan Node

  1. REPL (Read-Eval-Print Loop): ketik node tanpa argumen, lalu coba kode satu per satu. Keluar dengan Ctrl+D atau .exit.
  2. Skrip: simpan kode di app.js lalu node app.js.
$ node
> 7 * 6
42
> [1,2,3].map(n => n * 2)
[ 2, 4, 6 ]

Opsi berguna: node --watch app.js (jalan ulang otomatis saat berkas berubah), node --env-file=.env app.js (memuat variabel dari berkas .env), node --check app.js (cek sintaks).

Objek process

process adalah objek global yang menggambarkan proses Node yang sedang berjalan. Beberapa anggotanya yang paling sering dipakai:

AnggotaIsi
process.argvArray argumen baris perintah
process.envVariabel lingkungan
process.cwd()Folder kerja saat ini
process.platform'linux', 'darwin', 'win32'
process.versionVersi Node
process.exit(kode)Menghentikan proses
process.exitCodeKode keluar saat proses selesai wajar

Argumen baris perintah

node salam.js Dina 25
console.log(process.argv);
// [ '/usr/local/bin/node', '/proyek/salam.js', 'Dina', '25' ]

Dua elemen pertama selalu path Node dan path skrip, jadi argumen milikmu mulai dari indeks 2: process.argv.slice(2) → ['Dina', '25']. Perhatikan: semua argumen berupa string; ubah ke angka dengan Number('25').

Variabel lingkungan

Cara standar memberi konfigurasi ke aplikasi tanpa menulisnya di kode — terutama yang rahasia (password database, kunci API):

PORT=8080 NODE_ENV=production node server.js
const port = process.env.PORT || 3000;    // nilai selalu string atau undefined
const isProd = process.env.NODE_ENV === 'production';

Simpan rahasia di berkas .env (dan masukkan ke .gitignore!). Node 20.6+ bisa memuatnya langsung: node --env-file=.env app.js.

Kode keluar (exit code)

Setiap proses berakhir dengan kode: 0 = sukses, selain 0 = gagal. Skrip otomasi, CI/CD, dan shell menggunakannya untuk mengetahui apakah perintah berhasil.

if (!process.argv[2]) {
  console.error('Pemakaian: node salam.js <nama>');
  process.exit(1);          // keluar segera dengan kode gagal
}
process.exitCode = 0;       // atau biarkan program selesai wajar

process.exit() menghentikan proses seketika, termasuk pekerjaan async yang belum selesai; lebih baik atur process.exitCode dan biarkan Node berhenti sendiri bila memungkinkan.

stdout dan stderr

console.log menulis ke stdout; console.error ke stderr. Pisahkan keduanya agar keluaran normal bisa di-pipe tanpa tercampur pesan error.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X