Node.js adalah lingkungan runtime JavaScript sumber terbuka dan lintas platform. Ini adalah alat yang populer untuk hampir semua jenis proyek!
Node.js menjalankan mesin JavaScript V8, inti Google Chrome, di luar browser. Ini memungkinkan Node.js menjadi sangat berkinerja.
Aplikasi Node.js berjalan dalam satu proses, tanpa membuat utas baru untuk setiap permintaan. Node.js menyediakan serangkaian primitif I/O asinkron dalam pustaka standarnya yang mencegah kode JavaScript dari pemblokiran dan umumnya, pustaka di Node.js ditulis menggunakan paradigma non-pemblokiran, menjadikan perilaku pemblokiran sebagai pengecualian daripada norma.
Ketika Node.js melakukan operasi I/O, seperti membaca dari jaringan, mengakses basis data atau sistem berkas, alih-alih memblokir utas dan membuang siklus CPU untuk menunggu, Node.js akan melanjutkan operasi saat respons kembali.
Hal ini memungkinkan Node.js untuk menangani ribuan koneksi bersamaan dengan satu server tanpa menimbulkan beban mengelola konkurensi thread, yang dapat menjadi sumber bug yang signifikan.
Node.js memiliki keunggulan unik karena jutaan pengembang frontend yang menulis JavaScript untuk browser kini dapat menulis kode sisi server selain kode sisi klien tanpa perlu mempelajari bahasa yang sama sekali berbeda.
Di Node.js, standar ECMAScript yang baru dapat digunakan tanpa masalah, karena Anda tidak perlu menunggu semua pengguna memperbarui browser mereka - Anda bertanggung jawab untuk memutuskan versi ECMAScript mana yang akan digunakan dengan mengubah versi Node.js, dan Anda juga dapat mengaktifkan fitur eksperimental tertentu dengan menjalankan Node.js dengan flag.
Contoh Aplikasi Node.js
Contoh Hello World Node.js yang paling umum adalah server web:
import { createServer } from 'node:http';
const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
Untuk menjalankan cuplikan ini, simpan sebagai file server.js dan jalankan node server.js di terminal Anda. Jika Anda menggunakan kode versi mjs, Anda harus menyimpannya sebagai file server.mjs dan menjalankan node server.mjs di terminal Anda.
Kode ini pertama-tama menyertakan modul http Node.js.
Node.js memiliki pustaka standar yang fantastis, termasuk dukungan kelas satu untuk jaringan.
Metode createServer() dari http membuat server HTTP baru dan mengembalikannya.
Server diatur untuk mendengarkan pada port dan nama host yang ditentukan. Ketika server siap, fungsi panggilan balik dipanggil, dalam hal ini memberi tahu kita bahwa server sedang berjalan.
Setiap kali permintaan baru diterima, peristiwa permintaan dipanggil, menyediakan dua objek: permintaan (objek http.IncomingMessage) dan respons (objek http.ServerResponse).
Kedua objek tersebut penting untuk menangani panggilan HTTP.
Yang pertama menyediakan detail permintaan. Dalam contoh sederhana ini, ini tidak digunakan, tetapi Anda dapat mengakses header permintaan dan meminta data.
Yang kedua digunakan untuk mengembalikan data ke pemanggil.
Dalam kasus ini dengan:
res.statusCode = 200;
kita tetapkan properti statusCode ke 200, untuk menunjukkan respons yang berhasil.
Kita tetapkan header Content-Type:
res.setHeader('Content-Type', 'text/plain');
dan kita menutup responsnya, menambahkan konten sebagai argumen ke end():
res.end('Hello World\n');
Jika Anda belum melakukannya, unduh Node.js.
0 Comments