Rate this post

Express.js là một framework nhẹ và linh hoạt cho Node.js, cung cấp một bộ tính năng mạnh mẽ để phát triển các ứng dụng web và di động. Nó giúp đơn giản hóa quy trình phát triển bằng cách cung cấp các công cụ và phương pháp để xử lý các yêu cầu HTTP, định tuyến và quản lý middleware. Express.js được thiết kế để dễ sử dụng và mở rộng, phù hợp cho cả những dự án nhỏ lẫn những ứng dụng web lớn và phức tạp.

Cài đặt và Cấu hình cơ bản

Cài đặt Node.js và npm

Trước khi bắt đầu với Express.js, bạn cần cài đặt Node.js và npm (Node Package Manager). Bạn có thể tải xuống và cài đặt Node.js từ trang web chính thức nodejs.org. Sau khi cài đặt, bạn có thể kiểm tra phiên bản Node.js và npm bằng cách chạy các lệnh sau trong terminal:

node -v
npm -v

Cài đặt Express.js

Sau khi cài đặt Node.js và npm, bạn có thể cài đặt Express.js bằng lệnh npm sau:

npm install express --save

Lệnh này sẽ thêm Express.js vào dự án của bạn và cập nhật tệp package.json để quản lý các phụ thuộc.

Tạo ứng dụng Express.js đầu tiên

Bây giờ, hãy tạo một tệp mới tên là app.js và bắt đầu với ứng dụng Express.js cơ bản:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`);
});

Chạy ứng dụng bằng lệnh:

node app.js

Truy cập vào http://localhost:3000/ và bạn sẽ thấy thông báo “Hello World!”.

Cấu trúc Thư mục và Tập tin trong Express.js

Cấu trúc thư mục cơ bản

Cấu trúc thư mục tiêu chuẩn trong ứng dụng Express.js bao gồm các thư mục như routes, views, public, và models. Đây là một ví dụ về cấu trúc thư mục:

myapp/
├── app.js
├── package.json
├── routes/
│   └── index.js
├── views/
│   └── index.ejs
├── public/
│   ├── stylesheets/
│   └── images/
└── models/

Tập tin chính của ứng dụng

Tệp app.js hoặc server.js thường là tệp chính của ứng dụng, nơi bạn khởi tạo ứng dụng Express, định nghĩa các middleware và thiết lập kết nối cơ sở dữ liệu.

Xử lý Routing trong Express.js

Định nghĩa Routes

Routes trong Express.js cho phép bạn định nghĩa cách ứng dụng của bạn phản hồi lại các yêu cầu HTTP. Ví dụ về một route đơn giản:

app.get('/about', (req, res) => {
  res.send('About Page');
});

Sử dụng Middleware

Middleware là các hàm có quyền truy cập vào đối tượng yêu cầu (req), phản hồi (res), và hàm tiếp theo trong vòng đời yêu cầu-đáp ứng. Middleware có thể thực hiện các nhiệm vụ như xử lý yêu cầu, xác thực người dùng, và ghi log. Ví dụ:

app.use((req, res, next) => {
  console.log('Time:', Date.now());
  next();
});

Xử lý yêu cầu và phản hồi

Bạn có thể xử lý các yêu cầu HTTP và gửi phản hồi bằng cách sử dụng các phương thức như app.get(), app.post(), app.put(), và app.delete(). Ví dụ:

app.post('/submit', (req, res) => {
  res.send('Form Submitted');
});

Tương tác với Cơ sở dữ liệu

Kết nối với MongoDB

Express.js thường được sử dụng với MongoDB để lưu trữ dữ liệu. Bạn có thể sử dụng Mongoose, một ODM (Object Data Modeling) library cho MongoDB và Node.js. Cài đặt Mongoose bằng lệnh:

npm install mongoose

Kết nối tới MongoDB:

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true });

Thao tác CRUD với Cơ sở dữ liệu

Với Mongoose, bạn có thể định nghĩa các mô hình và thực hiện các thao tác CRUD (Create, Read, Update, Delete). Ví dụ:

const Schema = mongoose.Schema;
const UserSchema = new Schema({
  name: String,
  email: String,
  password: String
});

const User = mongoose.model('User', UserSchema);

// Tạo mới
const newUser = new User({ name: 'John', email: 'john@example.com', password: '123456' });
newUser.save();

// Đọc
User.find({}, (err, users) => {
  if (err) throw err;
  console.log(users);
});

// Cập nhật
User.updateOne({ email: 'john@example.com' }, { name: 'Johnny' }, (err, res) => {
  if (err) throw err;
  console.log(res);
});

// Xóa
User.deleteOne({ email: 'john@example.com' }, (err) => {
  if (err) throw err;
  console.log('User deleted');
});

Quản lý lỗi và Bảo mật

Xử lý lỗi trong Express.js

Xử lý lỗi là một phần quan trọng trong việc phát triển ứng dụng. Bạn có thể sử dụng middleware để xử lý lỗi:

app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send('Something broke!');
});

Các biện pháp bảo mật

Bảo mật ứng dụng của bạn bằng cách sử dụng các biện pháp như mã hóa mật khẩu, bảo vệ chống lại các cuộc tấn công XSS, CSRF, và sử dụng các thư viện bảo mật như helmet:

npm install helmet
const helmet = require('helmet');
app.use(helmet());

Kết luận

Express.js là một công cụ mạnh mẽ và dễ sử dụng cho việc phát triển ứng dụng web với Node.js. Với khả năng mở rộng và linh hoạt, nó cho phép bạn xây dựng các ứng dụng từ cơ bản đến phức tạp một cách hiệu quả. Việc nắm vững các khái niệm và kỹ thuật cơ bản của Express.js sẽ giúp bạn tự tin hơn trong việc phát triển và triển khai các ứng dụng web hiện đại.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now