Tôi không có tài năng gì cả. Tôi chỉ đam mê hiểu biết
 Tìm Hiểu NodeJS Cơ Bản

Tìm Hiểu NodeJS Cơ Bản


Ngày 20 Tháng 9 Năm 2021

Ngày hôm nay chúng ta sẽ đi vào tìm hiểu nodejs là gì, cách cài đặt và tạo server trên localhost bằng Nodejs trong dự án phát triển website nha.

NodeJS Là Gì?

Node.js là một môi trường thời gian chạy JavaScript mã nguồn mở, đa nền tảng, chạy trên công cụ V8 và thực thi mã JavaScript bên ngoài trình duyệt web. Node.js cho phép các nhà phát triển sử dụng JavaScript để viết các công cụ dòng lệnh và để tạo tập lệnh phía máy chủ — chạy các tập lệnh phía máy chủ để tạo ra nội dung trang web động trước khi trang được gửi đến trình duyệt web của người dùng. Do đó, Node.js đại diện cho mô hình "JavaScript ở mọi nơi", thống nhất phát triển ứng dụng web xung quanh một ngôn ngữ lập trình duy nhất, thay vì các ngôn ngữ khác nhau cho các tập lệnh phía máy chủ và phía máy khách.
Theo Wikipedia

Nodejs

Cách Cài Đặt Nodejs

Trong trang chủ của nodejs thì nó sẽ đề xuất hai phiên bản là Recommended For Most User(Phiên bản được sử dụng phổ biến) và Latest Features (Phiên bản mới nhất). Mình khuyến khích bạn nên lựa chọn phiên bản đầu tiên để cài đặt nha. Sau khi cài đặt xong thì chúng ta sẽ mở cmd và dùng câu lệnh sau để kiểm tra phiên bản nodejs:

node -v

Và dưới đây là kết quả mình thực hiện trên máy tính:

Check version Nodejs

Chạy Chương Trình

Phần đầu tiên mình sẽ tạo một thư mục có tên là nodejs và sau đó tạo một file app.js để chạy chương trình bằng Nodejs nha.

Create App JS

Tiếp theo mình sẽ đi vào thêm các đoạn mã sau đây vào file app.js:

 const str = "Hello World";
console.log(str);

Để chạy nodejs thì chúng ta sẽ sử dụng cú pháp như sau:

node Tên-File

Và kết quả khi chạy chương trình:

Run Nodejs

Client Và Server Trong Nodejs

Trước khi đi vào tìm hiểu cách tạo server thì mình xin giới thiệu sơ lược qua cách hoạt động của client và server.

Cách Hoạt Động Của Client Và Server

Client Và Server sẽ hoạt động như sau:

  • Gõ địa chỉ website trên trình duyệt.
  • Yêu cầu (request) sẽ được gởi tới server.
  • Server sẽ xem xét yêu cầu, xử lý thông tin.
  • Sau đó server sẽ trả lại dữ liệu(response) và hiển thị trên trình duyệt. (Các dữ liệu trả về có thể là HTML, CSS, Hình Ảnh, Json...)

Cách Tạo Server Nodejs

Trong phần này chúng ta sẽ đi vào tìm hiểu cách tạo server trên máy tính bằng nodejs nha. Đầu tiên mình sẽ import module http vào trong file app.js thông qua đoạn mã sau:

const http = require('http');

Tiếp theo chúng ta sẽ sử dụng phương thức createServer của http để tạo server thông qua đoạn mã sau đây nha.

const http = require('http');
const server = http.createServer((req, res) => {
    console.log('Hello World');
})

Bước cuối cùng mình sẽ dùng phương thức listen để lắng nghe các yêu cầu(req) tư client thông qua đoạn mã sau:

const http = require('http');
const server = http.createServer((req, res) => {
    console.log('Hello World')
})
server.listen(8080, 'localhost', () =>{
    console.log("Server chạy ở port 8080")
})

Ở đây mình có lưu ý một số điểm sau là:

  • 8080: là cổng kết nối tới máy tính của bạn.
  • localhost: giống như tên miền của website. Nơi truy cập gửi yêu cầu tới server.

Và để chạy server thì mình sẽ sử dụng cú pháp như sau:

node app
Run Nodejs Server

Như bạn thấy thì khi chạy file app.js thì trong console sẽ hiển thị "Server chạy ở port 8080". Điều này cho chúng ta biết là server đã được chạy và đang lắng nghe các yêu cầu(request) từ người dùng.

Bây giờ chúng ta sẽ đi vào truy cập "localhost:8080" để xem kết quả như thế nào nhé!

Khi chúng ta truy cập vào localhost thì dòng chữ "Hello World" trong terminal được hiển thị. Điều này cho biết là yêu cầu(request) tới server đã được nhận.
Tuy nhiên bạn chú ý là trong console của trình duyệt sẽ không hiển thị vì các hàm của chúng ta đều được chạy trên server nhé.

Trong bài viết tiếp theo mình sẽ hướng dẫn bạn cách để có thể hiển thi trang HTML khi người dùng gửi yêu cầu đến server của chúng ta nha.

Tổng kết:

Qua đây mình mong bài viết sẽ cung cấp thêm cho bạn những kiến thức nodejs hữu ích cho việc phát triển, thiết kế web và nếu có thắc mắc gì cứ gửi email mình sẽ phản hồi sớm nhất có thể. Rất mong bạn tiếp tục ủng hộ trang web để mình có thể viết nhiều bài hay hơn nữa nhé. Chúc bạn có một ngày vui vẻ!