Chế độ theo dõi mới của Node.js 19 và các tính năng khác mà bạn nên biết

Vào tháng 10 năm 2022, Node.js đã phát hành phiên bản thứ 19. Nó đến sáu tháng sau khi phát hành Node.js v.18, trong đó có các bản nâng cấp quan trọng như mô-đun trình chạy thử nghiệm gốc.
Một tính năng đáng chú ý trong Node.js 19 là chế độ theo dõi mới và thử nghiệm. Điều này cho phép bạn thực hiện các thay đổi đối với máy chủ của mình mà không cần phải khởi động lại nó.
Trước Node.js 19, chế độ đồng hồ chỉ khả dụng khi sử dụng thư viện của bên thứ ba. Tìm hiểu cách sử dụng chế độ theo dõi và khám phá các bản cập nhật khác cho Node.js trong phiên bản 19.
Mục Lục
Chế độ đồng hồ mới của Node
Node.js 19 giới thiệu thử nghiệm –đồng hồ cờ khởi động lại máy chủ Node.js khi phát hiện các thay đổi trong tệp được chỉ định. Trước đây, bạn có thể thực hiện việc này bằng cách sử dụng thư viện của bên thứ ba có tên là gật đầu, nhưng bản cập nhật sẽ loại bỏ nhu cầu về phần phụ thuộc bằng cách thêm chức năng của nó vào Node.js.
Để khởi động lại máy chủ Node.js của bạn bằng cách sử dụng –đồng hồ cờ, chạy nút lệnh với –đồng hồ cờ theo sau là tên của tệp bạn muốn khởi động lại khi Node phát hiện các thay đổi.
Ví dụ, coi khối mã này là một máy chủ.js tập tin:
const express = require("express");
const app = express();
const PORT = 6060;app.listen(PORT, () => console.log(`App listening on port: ${PORT}`));
Để xem tệp này để biết các thay đổi và khởi động lại máy chủ khi chúng xảy ra, hãy chạy lệnh này trên thiết bị đầu cuối của bạn:
node
Lệnh sẽ xem tệp server.js của bạn và khởi động lại máy chủ Node.js khi phát hiện các thay đổi được thực hiện trong tệp.
Điều đáng chú ý là tính năng này vẫn đang thử nghiệm, có nghĩa là bạn có thể gặp sự cố khi sử dụng –đồng hồ cờ để khởi động lại máy chủ của bạn.
Các bản nâng cấp và bản sửa lỗi khác
Các cải tiến và sửa lỗi khác đi kèm với Node.js 19 bao gồm những điều sau đây.
HTTP Keep-Alive theo mặc định
Các http/https mô-đun cố sống đi tùy chọn kiểm soát xem nó có nên giữ kết nối với máy chủ sau khi hoàn thành yêu cầu hay không. Ban đầu, bạn sẽ phải thiết lập cố sống đi tùy chọn để thật thủ công. Tùy chọn này hướng dẫn máy chủ giữ kết nối mở và sử dụng lại nó cho các yêu cầu tiếp theo.
Trong Node.js 19, cố sống đi tùy chọn được đặt thành true theo mặc định. Sự bổ sung này sẽ làm giảm đáng kể chi phí thiết lập các kết nối mới.
Ổn định API WebCrypto
API WebCrypto là triển khai của tiêu chuẩn Web Crypto API của Node.js. Với Node.js 19, việc triển khai WebCrypto hiện đã ổn định, ngoại trừ Ed25519, Ed448, X25519và X448 thuật toán.
Bạn có thể truy cập API này bằng cách sử dụng toàn cầu này mô-đun hoặc nút: tiền tố mà Node.js 18 đã giới thiệu để phân biệt các mô-đun Node.js cốt lõi với các thư viện của bên thứ ba.
Ví dụ:
const crypto = require("node:crypto");
const webcrypt = globalThis.crypto;
Điều chỉnh độ phân giải ESM tùy chỉnh
Node.js 19 loại bỏ thử nghiệm trước đó –experimental-specifier-độ phân giải lá cờ. Điều này cung cấp hỗ trợ thử nghiệm để định vị các tệp bằng cách sử dụng bộ xác định gói, tương tự như cách ECMAScript nhập các mô-đun.
Node.js đã xóa cờ này vì bạn có thể sao chép chức năng của chúng bằng trình tải tùy chỉnh. Bạn có thể sử dụng trình tải tùy chỉnh để hỗ trợ nhiều định dạng mô-đun hơn hoặc để xử lý thêm mô-đun trước khi tải vì chúng cho phép bạn cung cấp logic duy nhất của mình để tải và xử lý mô-đun.
Xóa Hỗ trợ DTrace/SystemTap/ETW
DTrace, SystemTap và ETW (Theo dõi sự kiện cho Windows) là các mô-đun cung cấp khả năng theo dõi động và phân tích các chương trình đang chạy. Ban đầu trong Node.js, bạn có thể sử dụng chúng để thu thập dữ liệu về hoạt động của ứng dụng, bao gồm các chỉ số hiệu suất, lỗi và các sự cố có thể xảy ra khác trong thời gian chạy.
Trong Node.js 19, Node.js đã loại bỏ hỗ trợ cho DTrace, SystemTap và ETW vì sự phức tạp liên quan đến việc duy trì và cập nhật các mô-đun này vẫn chưa xứng đáng. Vì vậy, để ưu tiên tài nguyên của họ, họ đã bỏ hỗ trợ cho họ.
Nâng cấp lên Node.js 19
Node.js 19 giới thiệu nhiều tính năng và cải tiến đáng xem xét cho ứng dụng của bạn, bao gồm cả chế độ đồng hồ mới, trong số những tính năng khác đã thảo luận ở trên. Để nâng cấp lên Node.js 19, hãy truy cập trang web chính thức và tải xuống phiên bản hiện tại.