Ebook: Lập trình Node.js thật đơn giản
Hướng dẫn tự xây dựng ứng dụng từ A - Z
Dự án sách được thực hiện bởi VNTALKING.COM
Nội dung cuốn sách: • Phần 1: Giới thiệu tổng quan về Nodejs. • Phần 2: Giới thiệu về NPM và Express. • Phần 3: Bước đầu tạo web app với Express. • Phần 4: Template Engine. • Phần 5: Giới thiệu MongoDB. • Phần 6: Ứng dụng MongoDB vào dự án. • Phần 7: Tạo tính năng Upload ảnh với Express. • Phần 8: Tìm hiểu Express Middleware. • Phần 9: Refactoring theo mô hình MVC. • Phần 10: Tạo tính năng đăng ký thành viên. • Phần 11: Xác thực với Express Sessions. • Phần 12: Triển khai web app lên server thật
• Phần 1: Giới thiệu tổng quan về Nodejs.
• Phần 2: Giới thiệu về NPM và Express.
• Phần 3: Bước đầu tạo web app với Express.
• Phần 4: Template Engine.
• Phần 5: Giới thiệu
MongoDB.
• Phần 6: Ứng dụng MongoDB vào dự án.
• Phần 7: Tạo tính năng Upload ảnh với Express.
• Phần 8: Tìm hiểu Express Middleware.
• Phần 9: Refactoring theo mô hình MVC.
• Phần 10: Tạo tính năng đăng ký thành viên.
• Phần 11: Xác thực với Express Sessions.
• Phần 12: Triển khai web app lên server thật
Yêu cầu
Cuốn sách này mình xây dựng từ những kiến thức nền tảng Node.js từ cơ bản nhất. Nên không cần bạn phải có kiến thức về Node.js. Tuy nhiên, vì Node.js được xây dựng trên ngôn ngữ Javascript nên sẽ tốt hơn nếu bạn đã có kiến thức căn bản về Javascript. Ngoài ra, bạn cũng cần chút hiểu biết về HTML và CSS để dựng giao diện web.
Tuy nhiên, vì Node.js được xây dựng trên ngôn ngữ Javascript nên sẽ tốt hơn nếu bạn đã có kiến thức căn bản về Javascript. Ngoài ra, bạn cũng cần chút hiểu biết về HTML và CSS để dựng giao diện web.
Liên hệ
Nếu có bất kỳ vấn đề gì trong quá trình học, code bị lỗi hoặc không hiểu, các bạn có thể liên hệ với mình qua một trong những hình thức dưới đây:
- Website: //vntalking.com
- Fanpage: //facebook.com/vntalking
- Email:
npm install express --save1
10
1. Cài đặt môi trường
- B1: Tạo một thư mục dự án: Tạo một thư mục dự án
- B2: Tạo file package.json - là file quản lý các dependency được cài đặt nội bộ. Để tạo file package.json, chúng ta cần khởi tạo npm : Tạo file
package.json - là file quản lý các dependency được cài đặt nội bộ. Để tạo file package.json, chúng ta cần khởi tạo npm
1
npm init
- B3: Cài đặt Express: Cài đặt Express
- Express là một module thường được sử dụng kèm theo Node.js. Express chạy giữa server tạo bởi Node.js và các trang frontend của một ứng dụng web. Express cũng giải quyết định tuyến [routing] của ứng dụng, hướng người dùng đến đúng trang dựa trên sự tương tác của người dùng với ứng dụng.
- Mặc dù có nhiều lựa chọn khác ngoài express tuy nhiên Express là đơn giản nhất để tìm hiểu về sự tương tác giữa phần backend Node.js và frondend
- Cài đặt express
1
npm init
- B3: Cài đặt Express : Tạo file app.js ở trong thư mục dự án
Express là một module thường được sử dụng kèm theo Node.js. Express chạy giữa server tạo bởi Node.js và các trang frontend của một ứng dụng web. Express cũng giải quyết định tuyến [routing] của ứng dụng, hướng người dùng đến đúng trang dựa trên sự tương tác của người dùng với ứng dụng. Mặc dù có nhiều lựa chọn khác ngoài express tuy nhiên Express là đơn giản nhất để tìm hiểu về sự tương tác giữa phần backend Node.js và frondend - Cài đặt express : Start server
1
npm init
B3: Cài đặt Express
Express là một module thường được sử dụng kèm theo Node.js. Express chạy giữa server tạo bởi Node.js và các trang frontend của một ứng dụng web. Express cũng giải quyết định tuyến [routing] của ứng dụng, hướng người dùng đến đúng trang dựa trên sự tương tác của người dùng với ứng dụng.
Mặc dù có nhiều lựa chọn khác ngoài express tuy nhiên Express là đơn giản nhất để tìm hiểu về sự tương tác giữa phần backend Node.js và frondend
Cài đặt express
npm install express --save
B4 : Tạo file app.js ở trong thư mục dự án 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const express = require["express"];
const app = express[];
const port = 5035;
app.get["/", [request, respond] => {
respond.status[200].json[{
message: "Welcome to Project Support"
}];
}];
app.listen[port, [request, respond] => {
console.log[`Our server is live on ${port}. Yay!`];
}];
const express = require["express"];
const app = express[];
const port = 5035;
app.get["/", [request, respond] => {
respond.status[200].json[{
message: "Welcome to Project Support"
}];
}];
app.listen[port, [request, respond] => {
console.log[`Our server is live on ${port}. Yay!`];
}];
B5: Start server
node app.js
2. Xây dựng ứng dụng - Trong bài viết này, chúng ta sẽ xây dựng một ứng dụng CRUD Course [thêm sửa xóa các Course]: Để giải quyết những HTTP POST request trong express.js từ version 4 trở lên, chúng ta cần mudule middleware body-parser. Body parser trích xuất toàn bộ phần body của request gửi đến và hiển thị chúng trên req.body
- 1. Cấu trúc thư mục: là một thư viện ODM [Object Data Modeling] cho MongDB và Node.js, được sẻ dụng để chuyển các object [đối tượng] trong code thành những biểu diễn của những object này trong MongoDB.
- Chắc hẳn bạn đã biết về mô hình MVC, ở ví dụ này chúng ta cũng sẽ xây dựng ứng dụng theo mô hình MVC bằng các tách cấu trúc thành các phần riêng biệt tùy theo chức năng của nó.: là một công cụ logging tuyệt vời khi làm việc với HTTP server trong Node.js, là một middleware cho phép chúng ta dễ dàng log những request, error ra console.
Chúng ta sẽ tạo ra 3 thư mục, models sẽ chứa code tương tác với database, thư mục controllsers chứa logic của ứng dụng xử lý các request từ client và response trả về, thư mục route giải quyết việc điều hướng.
1
2
3
4
5
6// create new directory
mkdir server
// change to server directory
cd server
// add three more directories
mkdir controllers models routes2. Cấu hình Application Entry Point [File app.js]
Cài đặt các dependency npm init
0npm init
1- body-parser: Để giải quyết những HTTP POST request trong express.js từ version 4 trở lên, chúng ta cần mudule middleware body-parser. Body parser trích xuất toàn bộ phần body của request gửi đến và hiển thị chúng trên req.bodyprocess.env.VAR_NAME
- mongoose: là một thư viện ODM [Object Data Modeling] cho MongDB và Node.js, được sẻ dụng để chuyển các object [đối tượng] trong code thành những biểu diễn của những object này trong MongoDB.
morgan: là một công cụ logging tuyệt vời khi làm việc với HTTP server trong Node.js, là một middleware cho phép chúng ta dễ dàng log những request, error ra console.
1
2
3
4
5
6// create new directory
mkdir server
// change to server directory
cd server
// add three more directories
mkdir controllers models routes2. Cấu hình Application Entry Point [File app.js]
1
npm init
B3: Cài đặt Express
Express là một module thường được sử dụng kèm theo Node.js. Express chạy giữa server tạo bởi Node.js và các trang frontend của một ứng dụng web. Express cũng giải quyết định tuyến [routing] của ứng dụng, hướng người dùng đến đúng trang dựa trên sự tương tác của người dùng với ứng dụng.
Mặc dù có nhiều lựa chọn khác ngoài express tuy nhiên Express là đơn giản nhất để tìm hiểu về sự tương tác giữa phần backend Node.js và frondend
Cài đặt express
npm install express --save
B4 : Tạo file app.js ở trong thư mục dự án
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const express = require["express"];
const app = express[];
const port = 5035;
app.get["/", [request, respond] => {
respond.status[200].json[{
message: "Welcome to Project Support"
}];
}];
app.listen[port, [request, respond] => {
console.log[`Our server is live on ${port}. Yay!`];
}];B5: Start server
node app.js
2. Xây dựng ứng dụng Trong bài viết này, chúng ta sẽ xây dựng một ứng dụng CRUD Course [thêm sửa xóa các Course]save[] của mongoDB để lưu dữ liệu vào DB. Return một promise trả lại response cho client nếu save thành công và xử lý lỗi nếu có lỗi xảy ra.
1. Cấu trúc thư mục Chắc hẳn bạn đã biết về mô hình MVC, ở ví dụ này chúng ta cũng sẽ xây dựng ứng dụng theo mô hình MVC bằng các tách cấu trúc thành các phần riêng biệt tùy theo chức năng của nó.
Chúng ta sẽ tạo ra 3 thư mục, models sẽ chứa code tương tác với database, thư mục controllsers chứa logic của ứng dụng xử lý các request từ client và response trả về, thư mục route giải quyết việc điều hướng.
1
2
3
4
5
6// create new directory
mkdir server
// change to server directory
cd server
// add three more directories
mkdir controllers models routes2. Cấu hình Application Entry Point [File app.js] Cài đặt các dependency : Import express và createCourse từ controller
npm init
0
npm init1
12
2
3
4
5
6
7
8
9
10
11
12
13
14
15
body-parser: Để giải quyết những HTTP POST request trong express.js từ version 4 trở lên, chúng ta cần mudule middleware body-parser. Body parser trích xuất toàn bộ phần body của request gửi đến và hiển thị chúng trên req.body
mongoose: là một thư viện ODM [Object Data Modeling] cho MongDB và Node.js, được sẻ dụng để chuyển các object [đối tượng] trong code thành những biểu diễn của những object này trong MongoDB.
morgan: là một công cụ logging tuyệt vời khi làm việc với HTTP server trong Node.js, là một middleware cho phép chúng ta dễ dàng log những request, error ra console.
Import và set up các dependency
npm init
2npm init
3Set up mongoose: Sử dụng JavaScript promise để set up mongoose và bắt lỗi.
npm init
4
npm init
5 Lưu ý:Best practice là đặt URI ở .env và truy cập vào các biến môi trường trong file env với process.env.VAR_NAME
Các bạn có thể cài đặt MongoDB về máy hoặc có thể sử dụng cloud MongoDB Atlas. Để thiết lập MongoDB Atlas và lấy URI cho Database của bạn, bạn có thể tham khảo hướng dẫn
Set up cổng, định nghĩa route home và lắng nghe cổng
Import và set up các dependency
npm init
2npm init
3Set up mongoose: Sử dụng JavaScript promise để set up mongoose và bắt lỗi.
npm init
4
npm init
5Lưu ý: Best practice là đặt URI ở .env và truy cập vào các biến môi trường trong file env với process.env.VAR_NAME
Các bạn có thể cài đặt MongoDB về máy hoặc có thể sử dụng cloud MongoDB Atlas. Để thiết lập MongoDB Atlas và lấy URI cho Database của bạn, bạn có thể tham khảo hướng dẫn
Set up cổng, định nghĩa route home và lắng nghe cổng
Import và set up các dependency
npm init
2npm init
3Set up mongoose: Sử dụng JavaScript promise để set up mongoose và bắt lỗi. npm init
4
npm init
4
npm init
5Lưu ý: Best practice là đặt URI ở .env và truy cập vào các biến môi trường trong file env với process.env.VAR_NAME
Các bạn có thể cài đặt MongoDB về máy hoặc có thể sử dụng cloud MongoDB Atlas. Để thiết lập MongoDB Atlas và lấy URI cho Database của bạn, bạn có thể tham khảo hướng dẫn
- Set up cổng, định nghĩa route home và lắng nghe cổngNodeJs. See ya!
- Nguồn Tham Khảo: //medium.com/fbdevclagos/developing-basic-crud-operations-with-node- express-and-mongodb-e754acb9cc15
//medium.com/fbdevclagos/developing-basic-crud-operations-with-node-express-and-mongodb-e754acb9cc15