Các modules Node là gì?
Node đi với các modules phong phú cái làm nó thành một nền tảng cực tốt cho chứa và quản lí các máy chủ.
Các modules này cung cấp các đặc tính như đọc và viết các files, gửi và nhận dữ liệu trên mạng, và thậm
chí nén và mã hoá dữ liệu. Bạn không cần cài đặt các modules này. Chúng đến được đóng gói bản địa với Node.
Thứ cực tốt về các modules này là rằng chúng cung cấp các APIs không đồng bộ cái bạn có thể sử dụng mà không
lo lắng về các threads (nhờ có event-loop của Node). Đây thực sự là tại sao Node trở nên rất thông dụng rất
nhanh chóng. Bạn có thể thực hiện lập trình không đồng bộ trong Node và làm các thứ song song mà không cần
làm việc với các threads. Viết code để làm việc với các threads không phải là một nhiệm vụ dễ dàng, và Node là
một giải thoát.
Bản chất không đồng bộ của các modules Node làm việc cực tốt với các VMs như V8 vì các VMs này tất cả là thread
đơn. Trong Node (và cũng như trong các trình duyệt web), bạn chỉ nhận một thread đơn quý giá để làm việc với. Nó
cực kì là quan trọng để không phong toả thread đó (vì là mô hình non-blocking). Ví dụ, trong một trình duyệt, nếu
một website phong toả thread đơn trong, giả sử 2 giây, người dùng không thể cuộn lên và xuống suốt 2 giây này! Trong
Node, nếu một kết nối HTTP đi đến tới một máy chủ web được xử lí đồng bộ hơn là không đồng bộ, cái đó sẽ phong toả
thread đơn, và toàn bộ máy chủ web không thể xử lí bất cứ các kết nối đi đến khác trong khi hoạt động đồng bộ đang sống.
Vuọt qua các modules tích hợp bạn nhận với Node, Node có hỗ trợ lớp đầu cho C++ addons. Bạn có thể viết code C++ để tạo
các modules hiệu suất cao, và liên kết chúng để được sử dụng trực tiếp bên trong Node.
Node cũng đóng gói với một debugger mạnh mẽ và có một vài tiện ích sẵn sàng, chung khác cái nâng cao ngôn ngữ
Javascript và cung cấp các APIs thêm (ví dụ, để tạo cái đếm thời gian, làm việc với các dạng dữ liệu, và xử lí các mảng và objects).