Node.js: JavaScript runtime, cài đặt và LTS
Node.js là một JavaScript runtime chạy được bên ngoài trình duyệt: trên server, trong CLI, hoặc bên trong một pipeline build. Dự án được quản trị theo mô hình mở, có Technical Steering Committee và được OpenJS Foundation hậu thuẫn, chứ không phải dự án riêng của một công ty. Hãy chọn Node.js nếu bạn muốn dùng một ngôn ngữ xuyên suốt cả stack; bỏ qua nếu bạn cần một runtime đã tích hợp sẵn bundler và test runner.
Tìm Hiểu Runtime Node.js
Node.js là một JavaScript runtime, nghĩa là nó thực thi mã JavaScript bên ngoài trình duyệt web, có thể trên server, trên máy cá nhân, hoặc bên trong CI. Node.js vận hành theo mô hình event-driven, non-blocking, nhờ đó một process duy nhất có thể xử lý nhiều kết nối cùng lúc thay vì chặn tuần tự từng kết nối. Dự án phát hành ba dòng release: Current, LTS và Nightly, đồng thời ghi rõ quy trình build, xác minh và quản trị ngay trong repo.
Đặc Điểm Chính Của Node.js
- ✓Có ba loại release: Current, nhận major version mới khoảng mỗi 6 tháng (tháng 4 và tháng 10); LTS, ưu tiên sự ổn định; và Nightly, được build lại từ nhánh Current khoảng mỗi 24 giờ.
- ✓Dòng LTS chỉ đến từ các major version chẵn, và mỗi dòng mang một tên mã theo thứ tự bảng chữ cái, bắt đầu từ Argon ở v4.
- ✓Một dòng LTS được 12 tháng ở trạng thái Active LTS, sau đó thêm 18 tháng Maintenance trước khi ngừng hỗ trợ.
- ✓Cả bản Current và LTS đều theo semantic versioning, và mỗi bản đều được một thành viên Release Team ký xác nhận.
- ✓Bản build đi kèm file SHASUMS256.txt.asc chứa checksum và chữ ký, nên bạn có thể xác minh bản tải thay vì tin tưởng mù quáng.
- ✓Vận hành theo mô hình quản trị mở với một Technical Steering Committee, có OpenJS Foundation đứng sau thay vì một công ty duy nhất.
- ✓Có Code of Conduct công khai cùng các kênh riêng cho Working Groups, sáng kiến chiến lược, và thảo luận về định hướng kỹ thuật.
Câu Hỏi Thường Gặp Về Node.js
Node.js có ba loại release: Current, nhận major version mới mỗi 6 tháng và mang thay đổi mới nhất; LTS, hướng tới sự ổn định cho production; và Nightly, được build lại khoảng mỗi 24 giờ từ nhánh Current để thử nghiệm thay đổi sắp tới.
Bản build, trình cài đặt và source tarball của Node.js được công bố tại nodejs.org/en/download. Bản Current và LTS nằm tại nodejs.org/download/release, còn bản Nightly nằm tại nodejs.org/download/nightly.
Mỗi thư mục tải về của Node.js có file SHASUMS256.txt.asc chứa checksum SHA và chữ ký PGP của người release; keyring cần dùng được lưu tại nodejs/release-keys, sau đó gpgv kiểm tra chữ ký còn shasum xác nhận checksum.
Một dòng LTS được 12 tháng ở trạng thái Active LTS, sau đó thêm 18 tháng Maintenance, và chỉ các major version chẵn mới chuyển thành LTS.
Node.js vận hành theo mô hình quản trị mở được ghi trong GOVERNANCE.md, có một Technical Steering Committee giám sát dự án và OpenJS Foundation hỗ trợ về mặt tổ chức.
Node.js có Code of Conduct, được nhắc trực tiếp trong README của dự án, và mọi người đóng góp đều được yêu cầu tuân theo.
Điểm Mạnh
- ✓Quy trình release rõ ràng, dễ suy luận: Current, LTS và Nightly mỗi loại có mục đích riêng và thời gian hỗ trợ được ghi rõ.
- ✓LTS được 12 tháng Active rồi thêm 18 tháng Maintenance, nên bạn biết trước một dòng LTS còn được vá lỗi bao lâu.
- ✓Bản tải xác minh được, không chỉ tin suông.
- ✓Quản trị mở: có Technical Steering Committee, có OpenJS Foundation đứng sau, và một Code of Conduct công khai thay vì một công ty tự quyết mọi thứ.
- ✓Đường đóng góp được ghi rõ riêng cho Working Groups, sáng kiến chiến lược, và thảo luận định hướng kỹ thuật, không chỉ nói chung chung 'PR nào cũng được hoan nghênh.'
Hạn Chế & Rủi Ro
- △README nói rất kỹ về quy trình release và quản trị, nhưng gần như không giải thích cơ chế vận hành của chính runtime, như event loop hay module system, nên bạn phải sang nodejs.org để đọc phần đó.
- △Một bản Current ra mắt tháng 10 chỉ được hỗ trợ 8 tháng, vì chỉ bản Current ra mắt tháng 4 mới chuyển thành dòng LTS mới của năm đó.
- △Bản Nightly được build lại khoảng mỗi 24 giờ và chính README ghi rõ 'use with caution', không phải thứ nên chạy ở production.
- △Dữ kiện repo lấy được ở đây để trống thông tin license, chỉ có tag chủ đề 'mit' làm gợi ý, nên hãy tự kiểm tra file LICENSE thay vì mặc định.
- △Build từ source không tự đủ trong README chính, nó dẫn sang một file BUILDING.md riêng cho các bước thật sự.
Lựa Chọn Thay Thế
Vấn Đề Node.js Giải Quyết
Trước khi có một runtime như thế này, JavaScript chỉ chạy được bên trong engine của trình duyệt, nên một đội đã viết JS ở frontend vẫn phải dùng thêm một ngôn ngữ khác, Ruby, Python, Java, hoặc PHP, chỉ để xây server hay công cụ CLI. Cũng không có câu trả lời chung, có tài liệu rõ ràng, cho câu hỏi bản nào dùng được cho production, bản nào vẫn đang thử nghiệm. README của Node.js trả lời thẳng vế thứ hai: nó định nghĩa Current, LTS và Nightly như ba cam kết khác nhau có chủ đích, cộng thêm quy trình checksum và chữ ký để một bản tải có thể được xác minh thay vì chỉ tin suông.
Trường Hợp Sử Dụng Tốt Nhất
- •Xây server, công cụ CLI, hoặc backend bằng JavaScript mà không cần đổi ngôn ngữ so với code frontend.
- •Chủ động chọn dòng release: Current để có thay đổi mới nhất, LTS khi cần thời gian hỗ trợ dài và ổn định hơn.
- •Xác minh bản tải trước khi đưa vào pipeline CI hoặc image production, bằng checksum và chữ ký PGP được công bố.
- •Tự build Node.js từ source khi không có sẵn bản build cho nền tảng bạn dùng, theo hướng dẫn trong BUILDING.md.
- •Theo dõi một dòng LTS cụ thể qua tên mã, như Hydrogen cho Node.js 18, thay vì phải nhớ số phiên bản thô.
Cách Cài Đặt / Dùng Thử
Tải bản build, trình cài đặt, hoặc source tarball tại nodejs.org/en/download. Các bản Current và LTS được lưu tại nodejs.org/download/release, trong đó thư mục 'latest' luôn trỏ tới bản Current mới nhất và 'latest-<tên mã>' trỏ tới bản mới nhất của một dòng LTS, ví dụ latest-hydrogen cho Node.js 18. Nếu muốn theo dõi thay đổi chưa phát hành, bản Nightly nằm tại nodejs.org/download/nightly, đặt tên theo phiên bản, ngày build theo giờ UTC, và short commit SHA (README dùng ví dụ v22.0.0-nightly20240424ddd0a9e494). Việc xác minh không bắt buộc nhưng rất dễ làm. Muốn build từ source thay vì tải sẵn, BUILDING.md có đầy đủ các bước và danh sách nền tảng được hỗ trợ.
Cách Sử Dụng
README không hướng dẫn cách dùng hàng ngày ngay trong repo, mà trỏ người đọc sang trang chủ Node.js. Điều README có ghi rõ là nơi chứa tài liệu tham khảo: API docs cho bản Current mới nhất nằm tại nodejs.org/api, còn tài liệu theo từng phiên bản nằm trong thư mục docs của mỗi bản release và cũng có tại nodejs.org/download/docs.
Ai Nên Dùng — Và Ai Nên Bỏ Qua
Hãy thử Node.js nếu bạn muốn dùng một ngôn ngữ cho cả server, CLI, lẫn script, và không ngại tự chọn framework, driver database, và test runner riêng thay vì được cấu hình sẵn. Node.js cũng hợp nếu bạn coi trọng quy trình release có tài liệu và có ký xác nhận: chọn LTS cho production, chọn Current nếu muốn tính năng mới sớm hơn, và xác minh bản tải bằng checksum cùng chữ ký PGP được công bố. Bỏ qua, hoặc tìm phương án khác trước, nếu bạn cần một runtime đã tích hợp sẵn bundler, test runner và package manager, vì README mô tả Node.js xoay quanh chính runtime và quy trình release, không phải một bộ công cụ đóng gói sẵn.
Repo liên quan
Muốn nghe thêm một ý kiến về node?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về node.
