/ / Có gì mới trong NodeJS v18?

Có gì mới trong NodeJS v18?

woman holding nodejs sticker

Vào tháng 4 năm 2022, phiên bản Node v18 của NodeJS đã được phát hành. Bản cập nhật Node v18 là một trong những bản cập nhật được mong đợi nhất kể từ Node v14, bổ sung thêm API lưu trữ cục bộ không đồng bộ, Giao diện hệ thống lắp ráp web (WASI) và hỗ trợ cho các mô-đun ECMAScript.

Bản nâng cấp v18 bổ sung nhiều cải tiến khác nhau cho NodeJS, bao gồm API tìm nạp được kích hoạt toàn cầu theo mặc định, hỗ trợ API luồng web và mô-đun chạy thử nghiệm lõi. Ở đây chúng tôi đề cập đến hầu hết các thay đổi quan trọng đối với NodeJS trong v18.


1. API tìm nạp

API tìm nạp cung cấp một giao diện để truy cập và xử lý các yêu cầu và phản hồi HTTP. Trước NodeJS v18, các yêu cầu HTTP được thực hiện với NodeJS yêu cầu thư viện bên thứ ba như axiostìm nạp nút hoặc phức tạp http hoặc https bưu kiện.

NodeJS v18 làm cho API tìm nạp có sẵn trong phạm vi toàn cầu theo mặc định. API tìm nạp toàn cầu loại bỏ nhu cầu về các thư viện của bên thứ ba như axios và mã chi tiết được liên kết với https gói khi tìm nạp tài nguyên không đồng bộ trên mạng.

Dưới đây là một ví dụ về việc sử dụng 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();

Các lấy dữ liệu hàm trên gửi một LẤY yêu cầu lấy các tài nguyên từ “https://example.com/users”. API tìm nạp cũng nhận tham số thứ hai tùy chọn, một đối tượng tùy chọn. Các đối tượng tùy chọn phải chứa thông tin chi tiết về yêu cầu. Ví dụ:

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);

Mặc dù API tìm nạp vẫn thực nghiệmnó sẽ hoạt động tốt đối với hầu hết người dùng.

2. Hỗ trợ cho API luồng Web

Hãy nghĩ đến các ứng dụng đa phương tiện hoặc thời gian thực; đây là trường hợp sử dụng cốt lõi của API luồng web. API luồng web là một tập hợp các giao diện cho phép phân tích theo chương trình của một tài nguyên lớn nhận được qua mạng thành các phần nhỏ, sau đó xử lý nó từng chút một.

Ví dụ về luồng là nội dung phản hồi được trả về bởi một tìm về lời yêu cầu. Nội dung phản hồi thuộc loại ReadableStream.

NodeJS v18 cho thấy một thực nghiệm triển khai API luồng web. Với bản cập nhật này, các API luồng web hiện có sẵn trên cả máy khách và máy chủ, giúp việc phát triển trở nên đơn giản hơn.

Bạn có thể tìm thấy danh sách các luồng hiện được hỗ trợ trong ghi chú phát hành chính thức.

3. Mô-đun Người chạy thử nghiệm

Trong các phiên bản trước đó của NodeJS, việc kiểm tra không có thư viện của bên thứ ba được thực hiện với khẳng định thư viện.


Các khẳng định thư viện giúp bạn dễ dàng viết các bài kiểm tra đơn giản, nhưng nó có những hạn chế đáng kể khiến việc làm việc với nhiều bộ kiểm tra trở nên khó khăn. Những hạn chế này thúc đẩy nhu cầu về các thư viện của bên thứ ba như Jest để chạy các thử nghiệm nâng cao hơn.

NodeJS v18 loại bỏ nhu cầu về thư viện của bên thứ ba với việc giới thiệu mô-đun chạy thử nghiệm cốt lõi của NodeJS. Trình chạy thử nghiệm hỗ trợ các tính năng như kiểm tra phụ, bỏ qua kiểm tra, kiểm tra gọi lại, v.v., giống như Jest.

Để sử dụng trình chạy thử, bạn phải nhập khẳng định từ khẳng địnhkiểm tra từ nút: kiểm tra. Chú ý dấu “nút:” tiếp đầu ngữ; nó là giao thức mới của Node giúp phân biệt các gói lõi của nút với các gói do người dùng tạo.

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

Dưới đây là một ví dụ về một thử nghiệm đơn giản bằng cách sử dụng mô-đun người chạy thử nghiệm:

test("Check if strings are the same", 

Kết quả kiểm tra do người chạy kiểm tra hiển thị sẽ ở định dạng TAP (Test Anything Protocol). Lưu ý rằng tính năng này vẫn đang trong giai đoạn thử nghiệm và có thể thay đổi bất kỳ lúc nào.

4. Các bản nâng cấp và sửa chữa khác

Bản cập nhật Node v18 cũng cập nhật động cơ v8 lên phiên bản 10.1. Công cụ v8 là thời gian chạy JavaScript được NodeJS sử dụng để thực thi JavaScript.

Bản cập nhật v8 làm cho các phương thức mảng findLastfindLastIndex có sẵn trong NodeJS và cải thiện hiệu suất của các trường lớp và các phương thức lớp riêng.

NodeJS cũng tiết lộ các API sau trên phạm vi toàn cầu trong bản nâng cấp Node v18:

Nâng cấp lên Node v18

Sử dụng Node v18, bạn có thể kiểm tra toàn bộ ứng dụng mà không có thư viện bên ngoài, tìm nạp tài nguyên không đồng bộ mà không cần thư viện bên ngoài và bật luồng web trong máy chủ của bạn.


Tuy nhiên, điều đáng chú ý là các tính năng này vẫn đang thử nghiệm và có thể thay đổi bất cứ lúc nào. Bạn có thể nâng cấp lên NodeJS v18 bằng liên kết tải xuống chính thức.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *