Cơ bản về NodeJS giới thiệu tổng quan về NodeJS – một nền tảng giúp tạo các ứng dụng web có tốc độ cao, đang phát triển rất mạnh.
NodeJS là gì
NodeJS là một công nghệ dùng để phát triển các ứng dụng web, hoạt động ở phía server với ngôn ngữ nền tảng là Javascript. Nó cho phép bạn lập trình ngôn ngữ javascript ở server để tạo các nội dung động cho website.
Nodejs tạo ra bởi Ryan Dahl vào 2009, ban đầu phát triển trên Linux, Mac OS. Bản chạy trên Windows phát hành vào 2011.
NodeJS sử dụng kỹ thuật điều khiển theo sự kiện và bất đồng bộ giúp code chạy nhanh và hiệu quả. NodeJS được sử dụng nhiều trong các lĩnh vực I/O bound Applications, Data Streaming Applications, Data Intensive Real-time Applications (DIRT), JSON APIs based Applications, Single Page Applications
Mô hình hoạt động của NodeJS
NodeJS hoạt động ở phía server, giúp tạo ra các trang web động. Ưu điểm của NodeJS là hướng sự kiện, bất đồng bộ, chạy rất nhanh.
So sánh với mô hình PHP, NodeJS tương ứng với Apache + PHP. NodeJS cũng giúp tạo website động như PHP: tính toán, quản lý file, tương tác database, quản lý session..
Download và cài đặt NodeJS
1- Download NodeJS
– Truy cập vào địa chỉ: https://nodejs.org/en/download/
– Download xong bạn có một file .msi. Chạy file này để bắt đầu cài.
2- Cài đặt NodeJS
Cài đặt là việc cơ bản về NodeJS đầu tiên. Bạn chạy file download và cứ nhắp tuần tự các nút Next, không có gì quá đặt biệt. Trong quá trình cài NodeJS, phần mềm NPM(Node Package Manager) cũng được cài luôn vào máy của bạn (tốt), đây là tool cần thiết quản lý các thư viện cho bạn.
3- Kiểm tra version nodejs đang có trong máy
Mở cửa sổ command prompt và chạy lệnh sau để kiểm tra phiên bản của NodeJS và NPM:
node -v
npm -v
Module trong NodeJS
Node.js dùng module để đơn giản hóa ứng dụng . Các module là tách biệt với nhau và với code chính, khi nào cần thì gọi chúng ra (bằng lệnh require) để dùng. Trong NodeJS bạn rất để dàng tự tạo module mới để dùng. Hoặc dùng các built-in module – là những module có sẵn, cứ gọi ra sử dụng mà khỏi cần cài thêm. Ví dụ như các module http, https, fs, path…vv… Các module có sẵn liệt kê ở đây: https://www.w3schools.com/nodejs/ref_modules.asp. Hoặc bạn có thể dùng các External Module – là các module cung cấp bởi cộng đồng Nodejs, bạn cần cài thêm vào.
Việc cài đặt các external module bên ngoài thông qua tool NPM hoặc trang https://www.npmjs.com. Cú pháp lệnh để cài module là npm install tênModule. Ví dụ cài module express như sau:
npm install express
Khi muốn gọi sử dụng module thì dùng lệnh require, ví dụ: require(“express”);
Tạo project NodeJS
Việc tạo project – tức website – với NodeJS thì dễ thôi.
a. Tạo 1 folder với tên tùy ý, ví dụ Lab01
b. Mở command line và chuyển vào folder mới tạo
c. Chạy lệnh npm init để khai báo thông tin cho project Bạn sẽ được yêu cầu nhập các thông tin như: name, version, description, … hãy nhập vào hoặc nhấn Enter để dùng giá trị mặc định. Khi hoàn tất thì sẽ có 1 file tên package.json chứa thông tin bạn vừa nhập,hãy mở file này lên xem thử nhé.
d. Cài đặt express : Express là một tập hợp các module quan trọng cho 1 project nodejs.
npm install express
e. Tạo file index.js và viết code
//tạo node server const express = require("express"); const app = express(); const port = 3000; //routes app.get("/", (req, res) => { res.send("<h1>Đây là trang home</h1>"); }); app.get("/gt", (req, res) => { res.send("<h1>Đây là trang giới thiệu</h1>"); }); //start server app.listen(port, () =>{ console.log(`Ung dung dang chay voi port ${port}`); });
f. Chạy server: Trong command line, chạy lệnh
node index.js
g. Xem trang web: Mở trình duyệt và gõ http://localhost:3000
Đối tượng request trong nodejs
Là đối tượng chứa các thông tin trong request gửi đến từ client. Nó chứa các thuộc tính và hàm hữu dụng để bạn dùng. Đối tường request là tham số đầu tiên trong hàm callback của 1 route trong nodejs. Ví dụ trong route bên dưới thì biến req chính là đối tượng request
app.get("/", (req , res) => { res.send("<h1>Đây là trang home</h1>"); });
Các thuộc tính thường dùng trong đối tượng request
Đối tượng request trong nodejs chứa các thuộc tính sau mà bạn sẽ thường hay dùng:
req.body: là đối tượng chứa các cặp key-value của dữ liệu được gửi lên từ client. Ví dụ {‘tensp’:’Iphone 15′, ‘gia’:’3000000′} Khi cần lấy các dữ liệu submit lên từ trình duyệt, bạn sẽ dùng đến req.body
req.params: là đối tượng chứa các tham sổ của 1 route. Ví dụ với route
app.get('/inventor/:id', (req, res) => { console.log(req.params); })
thì khi request http://localhost:3000/inventor/1 , đối tượng params sẽ là { id: ‘1’ }
req.query: là đối tượng chứa query string của route. Ví dụ với route sau
app.get('/inventors', (req, res) => { console.log(req.query); });
Thì khi request địa chỉ http://localhost:3000/inventors/?limit=5&lang=vi , giá trị của req.query sẽ là { limit: ‘5’, lang: ‘vi’ }
Đối tượng response trong nodejs
Ngoài việc dùng request để nhận thông tin từ client thì đối tượng response trong nodejs bạn cũng phải dùng để trả ngược dữ liệu về phía client. Đối tượng response là tham số thứ hai trong hàm callback của 1 route. Ví dụ trong route bên dưới thì biến res chính là đối tượng response
app.get("/", (req , res ) => { res.send("<h1>Đây là trang home</h1>"); });
Các hàm thường dùng trong đối tượng response
res.send(codehtml): Hàm send dùng để trả về code html cho trình duyệt
res.json(data): Hàm json dùng để trả về dữ liệu json cho trình duyệt.
res.redirect(r): Hàm redirect trong response được dùng để yêu cầu trình duyệt chuyển hướng đến route 1 chỉ định
res.render(viewfile): Hàm render dùng để trả về cho trình duyệt file view chỉ định
Bài này chỉ đề cập cơ bản về NodeJS thôi. Như download, cài đặt NodeJS, tạo project, tạo route… những thứ cần biết để đi tiếp các bài sau. Các em có thể đọc thêm tài liệu ở link : https://www.w3schools.com/nodejs/ , https://nodejs.dev/learn nếu muốn.
Bài kế tiếp theo là hướng dẫn sử dụng template EJS trong nodejs