free stats

Pada April 2022, rilis NodeJS Node v18 dikeluarkan. Pembaruan Node v18 telah menjadi salah satu pembaruan yang paling dinanti sejak Node v14, yang menambahkan API penyimpanan lokal asinkron, Antarmuka Sistem Perakitan Web (WASI), dan dukungan untuk Modul ECMAScript.

Pemutakhiran v18 menambahkan berbagai peningkatan pada NodeJS, termasuk API pengambilan yang diaktifkan secara global secara default, dukungan API aliran web, dan modul runner pengujian inti. Di sini kami membahas sebagian besar perubahan signifikan pada NodeJS di v18.

1. Ambil API

Fetch API menyediakan antarmuka untuk mengakses dan memanipulasi permintaan dan respons HTTP. Sebelum NodeJS v18, permintaan HTTP yang dibuat dengan NodeJS memerlukan perpustakaan pihak ketiga seperti aksio dan pengambilan simpul atau yang rumit http atau https kemasan.

NodeJS v18 membuat fetch API tersedia dalam lingkup global secara default. API pengambilan global menghilangkan kebutuhan akan perpustakaan pihak ketiga seperti aksio dan kode verbose yang terkait dengan https paket saat mengambil sumber daya secara asinkron di seluruh jaringan.

Berikut ini contoh penggunaan API:

const getData = async function () {
try {
const res = await fetch("https:
const data = await res.json();
console.log(data);
} catch (error) {
console.log(`Something went wrong, ${error}`);
}
};
getData();

Itu dapatkan data fungsi di atas mengirimkan DAPATKAN permintaan untuk mengambil sumber daya dari “https://example.com/users”. Fetch API juga mengambil parameter kedua opsional, objek opsi. Objek opsi harus berisi detail tentang permintaan. Sebagai contoh:

const userData = {
name: "Jon Snow",
age: 25,
gender: "M",
};
const postData = async function (data) {
try {
const res = await fetch("https:
method: "POST",
body: JSON.stringify(data),
});
const responseData = await res.json();
console.log(
`The request was sucessful, Here are the details: ${responseData}`
);
} catch (error) {
console.log(`The request was unsucessful, Here are the details: ${error}`);
}
};
postData(userData);

Meskipun mengambil API masih eksperimentalitu harus bekerja dengan baik untuk sebagian besar pengguna.

2. Dukungan untuk Web Streams API

Pikirkan aplikasi multimedia atau real-time; ini adalah kasus penggunaan inti dari web-streams API. Web stream API adalah sekumpulan antarmuka yang memungkinkan perincian terprogram dari sumber daya besar yang diterima melalui jaringan menjadi potongan-potongan kecil, kemudian memprosesnya sedikit demi sedikit.

Contoh aliran adalah badan respons yang dikembalikan oleh yang berhasil mengambil meminta. Badan respons bertipe Aliran yang Dapat Dibaca.

NodeJS v18 mengekspos dan eksperimental implementasi API aliran web. Dengan pembaruan ini, API aliran web sekarang tersedia di klien dan server, membuat pengembangan lebih mudah.

Anda dapat menemukan daftar aliran yang saat ini didukung di catatan rilis resmi.

3. Modul Test Runner

Di versi NodeJS sebelumnya, pengujian tanpa library pihak ketiga dilakukan dengan built-in menegaskan Perpustakaan.

Itu menegaskan library membuatnya mudah untuk menulis tes sederhana, tetapi memiliki keterbatasan signifikan yang membuatnya sulit untuk bekerja dengan beberapa rangkaian tes. Keterbatasan ini mendorong kebutuhan perpustakaan pihak ketiga seperti Jest untuk menjalankan tes yang lebih maju.

NodeJS v18 menghilangkan kebutuhan akan perpustakaan pihak ketiga dengan pengenalan modul runner pengujian inti milik NodeJS sendiri. Test runner mendukung fitur seperti subtests, test skipping, callback test, dll., seperti Jest.

Untuk menggunakan test runner, Anda harus mengimpor menegaskan dari menegaskan dan uji dari simpul: tes. Perhatikan “simpul:” awalan; itu adalah protokol baru Node yang membedakan paket inti node dari paket yang dibuat pengguna.

const assert = require("assert");
const test = require("node:test");

Berikut ini contoh pengujian sederhana menggunakan modul test runner:

test("Check if strings are the same", 

Hasil tes yang ditampilkan oleh pelari tes akan di TAP (Uji Protokol Apa Pun) format. Perhatikan bahwa fitur ini masih eksperimental dan dapat berubah sewaktu-waktu.

4. Peningkatan dan Perbaikan Lainnya

Pembaruan Node v18 juga dilengkapi pembaruan mesin v8 ke versi 10.1. Mesin v8 adalah runtime JavaScript yang digunakan oleh NodeJS untuk mengeksekusi JavaScript.

Pembaruan v8 membuat metode larik temukanTerakhir dan temukanIndeksTerakhir tersedia di NodeJS dan meningkatkan kinerja bidang kelas dan metode kelas pribadi.

NodeJS juga mengekspos API berikut pada lingkup global dalam pemutakhiran Node v18:

Upgrade ke Node v18

Dengan menggunakan Node v18, Anda dapat menguji seluruh aplikasi tanpa pustaka eksternal, mengambil sumber daya secara asinkron tanpa pustaka eksternal, dan mengaktifkan aliran web di server Anda.

Namun, perlu dicatat bahwa fitur-fitur ini masih eksperimental dan dapat berubah kapan saja. Anda dapat meningkatkan ke NodeJS v18 menggunakan tautan unduhan resmi.

Share.

Leave A Reply