Tạo folder cho ứng dụng

$ mkdir node crud

Khởi tạo ứng dụng với package.json file

Đi tới thu mục được tạo ra để xây dựng ứng dụng và khởi tạo package với lện npm init

$ cd node crud
$ npm init

Thông tin ứng dụng như sau

About to write to /home/chu.thien.tam/node crud/package.json:

{
  "name": "manage-toy-crud",
  "version": "1.0.0",
  "description": "Using to manage list toy",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "Nodejs",
    "Express",
    "MongoDB",
    "manage-toy"
  ],
  "author": "TamCT",
  "license": "ISC"
}

Khởi động ứng dụng

Như thông tin ứng dụng được tạo ở trên thì crud.js là entry point, tạo file crud.js với câu lệnh đơn giản

$ touch server.js

Để kiểm tra việc khởi tạo chúng ta thêm nội dung cho file server.js

console.log('Runing manage toy application ');

Bây giờ chạy lệnh nodejs server.js để kiểm tra

~/node crud$ nodejs server.js

Runing manage toy application

Sử dụng Express

Chạy lệnh trong command line

npm install express --save

Bây giờ package.json thay đổi với phần thêm dependence cho express

{
  "name": "manage-toy-crud",
  "version": "1.0.0",
  "description": "Using to manage list toy",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "Nodejs",
    "Express",
    "MongoDB",
    "manage-toy"
  ],
  "author": "TamCT",
  "license": "ISC",
  "dependencies": {
    "express": "^4.16.3"
  }
}

Bây giờ thay đổi nội dụng file server.js để sử dụng express

const express = require('express');
const app = express();
app.listen(8181, function() {
  console.log('listening on 8181')
})

Nhưng trước khi có thể lắng nghe từ Client chung ta cần phải định nghĩa các phương thức để lấy đường dẫn

CRUD - READ

Client sẽ gửi một GET request tới server để thực hiện đọc dữ liệu, Trong Express thì chúng ta sử dụng Get request với câu lệnh sau:

app.get(path, callback)

Đối số thứ nhất path là đường dẫn của GET request. Đối số thứ hai chính là call back function dùng để chỉ cho server biết chỗ làm những việc gì khi mà đường dẫn khớp , và sẽ có hai đối số cho function này là resquest và respond.

app.get('/', function (request, response) {
  // do something here
})

Bây giờ chúng ta sẽ ghi vài thứ khi thực hiện get ở đường dẫn mặc định này

app.get('/', function(req, res) {
  res.send('Welcome to manage toy application')
})

Với ES6 chúng ta có thể ghi như sau

app.get('/', (req, res) => {
  res.send('Welcome to manage toy application')
})

Bây giờ khi vào đường dẫn localhost:8181 chúng ta sẽ nhận được nội dung như sau

Bây giờ chúng ta sẽ sử dụng file để gửi thông tin lại cho Client tạo 1 file html với tên là list.html với nội dung bao gồm tên và giá của sản phẩm

touch list.html

Chúng ta cũng tạo ra một form trong html fiel để thực hiện việc CREATE

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Managa Toy</title>
</head>
<body>
  <form action="/create" method="POST">
  <input type="text" placeholder="name" name="name">
  <input t