Morgan nodejs là gì

1. Cài đặt môi trườngB1: Tạo một tlỗi mục dự ánB2: Tạo file package.json - là file thống trị những dependency được cài đặt nội cỗ. Để chế tác tệp tin package.json, bọn họ cần khởi sản xuất npm

npm initB3: Cài đặt ExpressExpress là một trong module thường được sử dụng dĩ nhiên Node.js. Express chạy giữa VPS chế tạo ra vị Node.js và những trang frontkết thúc của một ứng dụng website. Express cũng xử lý định đường (routing) của vận dụng, hướng người tiêu dùng đến đúng trang dựa vào sự hệ trọng của người dùng với áp dụng.Mặc cho dù có nhiều lựa chọn khác quanh đó express mặc dù Express là đơn giản và dễ dàng độc nhất vô nhị nhằm mày mò về việc hệ trọng thân phần backkết thúc Node.js với frondendCài đặt expressnpm install express --saveB4 : Tạo file phầm mềm.js sống vào thỏng mục dự án// Điện thoại tư vấn in installed dependenciesconst express = require("express");// set up express appconst tiện ích = express();// mix up port numberconst port = 5035;// mix up home page routeứng dụng.get("/", (request, respond) => respond.status(200).json( message: "Welcome khổng lồ Project Support", ););ứng dụng.listen(port, (request, respond) => console.log(`Our VPS is live on $port. Yay!`););B5: Start servernode ứng dụng.js2. Xây dựng ứng dụngTrong bài viết này, bọn họ sẽ xây dựng dựng một vận dụng CRUD Course (thêm sửa xóa những Course)

1. Cấu trúc thư mục

Chắc hẳn bạn vẫn biết về mô hình MVC, sinh sống ví dụ này chúng ta cũng trở thành chế tạo áp dụng theo quy mô MVC bởi các bóc cấu trúc thành các phần lẻ tẻ tùy thuộc vào tác dụng của nó.

Bạn đang xem: Morgan nodejs là gì

Chúng ta sẽ tạo nên ra 3 tlỗi mục, models đã chứa code liên quan cùng với database, thỏng mục controllsers đựng xúc tích của vận dụng giải pháp xử lý những request từ client và response trả về, thỏng mục route giải quyết và xử lý câu hỏi điều hướng.

// create new directorymkdir server// change lớn server directorycd server// add three more directoriesmkdir controllers models routes

*

2. Cấu hình Application Entry Point (File tiện ích.js)

Cài đặt các dependency

// npm install the needed dependenciesnpm install body-parser morgan mongoose --savebody-parser: Để giải quyết đa số HTTPhường POST request vào express.js từ version 4 trsống lên, họ đề nghị mudule middleware body-parser. Body parser trích xuất tổng thể phần body của request gửi đến và hiển thị bọn chúng bên trên req.bodymongoose: là 1 trong thư viện ODM (Object Data Modeling) đến MongDB cùng Node.js, được sẻ dụng nhằm đưa các object (đối tượng) trong code thành số đông màn trình diễn của những object này trong MongoDB.morgan: là mộtn cách thức logging hoàn hảo lúc thao tác cùng với HTTP VPS trong Node.js, là 1 trong middleware có thể chấp nhận được bọn họ thuận lợi log rất nhiều request, error ra console.Import với phối up các dependency

// import dependenciesimport express from "express";import bodyParser from "body-parser";import mongoose from "mongoose";import logger from "morgan";// set up dependenciesconst ứng dụng = express();phầm mềm.use(bodyParser.json());app.use(bodyParser.urlencoded( extended: false ));phầm mềm.use(logger("dev"));Set up mongoose: Sử dụng JavaScript promise nhằm phối up mongoose cùng bắt lỗi.

// mix up mongoosemongoose.connect(Your URI>, useNewUrlParser: true, useUnifiedTopology: true ); .then(()=> console.log("Database connected"); ) .catch((error)=> console.log("Error connecting khổng lồ database"); );Lưu ý:

Best practice là đặt URI ngơi nghỉ .env và truy vấn vào những đổi thay môi trường xung quanh vào file env với process.env.VAR_NAME

Set up cổng, khái niệm route home page cùng lắng tai cổng

// phối up portconst port = 5035;// phối up routeapp.get("/", (req, res) => res.status(200).json( message: "Welcome to lớn Project with Nodejs Express & MongoDB", ););app.listen(port, () => console.log(`Our VPS is running on port $port`););Start server: Msống terminal, sinh sống thỏng mục project, chạy:

node ứng dụng.jsKết trái khi kết nối database thành công và chạy ứng dụng nghỉ ngơi cổng 5035:

*

*

3. Tạo Model

trước hết họ vẫn đi vào ví dụ chế tác Caurse. Ứng dụng cho phép nhập title với miêu tả mang lại course cùng course được chế tác sẽ tiến hành lưu giữ trong MongoDB chất nhận được client hoàn toàn có thể truy vấn xuất khi đề nghị. Model trước tiên họ tạo nên đang là course.js vào tlỗi mục models.

4. Tạo Controller

Tạo một tệp tin course.js vào thỏng mục controllers

Import mongoose cùng Model course mà lại họ export lúc chế tạo ra Mã Sản Phẩm course.

Xem thêm: Cdsht Là Gì Voz - Viết Tắt Của Từ Gì

import mongoose from "mongoose";import Course from "../models/course";Tạo course: Đàu tiên họ khởi tạo ra một Course với mức giá trị tương ứng với các key trong courseSchema. Sử dụng cách làm save() của mongoDB nhằm giữ tài liệu vào DB. Return một promise trả lại response cho client giả dụ save sầu thành công xuất sắc với giải pháp xử lý lỗi nếu như có lỗi xảy ra.

// create new causeexport function createCourse (req, res) const course = new Course( _id: mongoose.Types.ObjectId(), title: req.toàn thân.title, description: req.toàn thân.description, ); return course .save() .then((newCourse) => return res.status(201).json( success: true, message: "New cause created successfully", Course: newCourse, ); ) .catch((error) => console.log(error); res.status(500).json( success: false, message: "Server error. Please try again.", error: error.message, ); );

5. Tạo route

Tạo file main.js nghỉ ngơi trong thỏng mục routes.

import express from "express";import createCourse from "../controllers/course";const router = express.Router();router.post("/courses", createCourse);export default router;Lưu ý : Import express với createCourse tự controller

Ở file app.js

Chúng ta import route từ file main.js vào tlỗi mục route. Thiết lập route với prefix là api

// gọi in the installed dependencies...import logger from "morgan";import mainRoutes from "./server/routes/main";...// phối up routetiện ích.use("/api/", mainRoutes);...

6. Testing cùng với Postman

*
Bởi vậy là ta đang tạo nên thành công một course new cùng vẫn lưu lại được vào MongoDB.

Xem thêm: Let Down Là Gì Và Cấu Trúc Cụm Từ Let Down Trong Câu Tiếng Anh

7. Get các mục course

1. Controller

File course.js trong tlỗi mục controllers

// Get all courseexport function getAllCourse( req, res) Course.find() .select("_id title description") .then((allCourse) => return res.status(200).json( success: true, message: "A danh sách of all course", Course: allCourse, ); ) .catch((err) => res.status(500).json( success: false, message: "Server error. Please try again.", error: err.message, ); );2. Route

File main.js vào thư mục route

import createCourse, getAllCourse from "../controllers/course";...router.get("/courses", getAllCourse);3. Kết quả

*

8. Get single course

1. Controller

File course.js vào tlỗi mục controllers

// get single courseexport function getSingleCourse(req, res) const id = req.params.courseId; Course.findById(id) .then((singleCourse) => res.status(200).json( success: true, message: `More on $singleCourse.title`, Course: singleCourse, ); ) .catch((err) => res.status(500).json( success: false, message: "This course does not exist", error: err.message, ); );2. Route

File main.js trong thư mục route

import createCourse, getAllCourse, getSingleCourse from "../controllers/course";...router.get("/courses/:courseId", getSingleCourse);3. Kết quả

*

9. Update course

1. Controller

File course.js vào tlỗi mục controllers

// update courseexport function updateCourse(req, res) const id = req.params.courseId; const updateObject = req.body; Course.update( _id:id , $set:updateObject ) .exec() .then(() => res.status(200).json( success: true, message: "Course is updated", updateCourse: updateObject, ); ) .catch((err) => res.status(500).json( success: false, message: "Server error. Please try again." ); );2. Route

File main.js trong thư mục route

import createCourse, getAllCourse, getSingleCourse, updateCourse from "../controllers/course";...router.patch("/courses/:courseId", updateCourse);3. Kết quả

*

10. Delete course

1. Controller

File course.js trong thỏng mục controllers

// delete a courseexport function deleteCourse(req, res) const id = req.params.courseId; Course.findByIdAndRemove(id) .exec() .then(()=> res.status(204).json( success: true, )) .catch((err) => res.status(500).json( success: false, ));2. Route

File main.js vào tlỗi mục route

import createCourse, getAllCourse, getSingleCourse, updateCourse, deleteCourse from "../controllers/course";...router.delete("/courses/:courseId", deleteCourse);Kết luậnQua nội dung bài viết này chúng ta đã xây cất thành công xuất sắc một ứng dụng website CRUD cùng với nodejs, express, mongoDB, qua đó đồng thời hiểu về luồng thân mặt server với client.Mong nội dung bài viết có lợi với đa số bạn cùng hứa gặp mặt đa số tín đồ làm việc bài viết tiếp theo về nodejs.