Node.js(3)

하정현·2023년 11월 2일

Node.js

목록 보기
3/12
post-thumbnail

🐣 Express.js

Express.js는 Node.js로 서버를 빠르고 간편하게 만들 수 있도록 도와주는 웹 프레임워크 입니다.

가장 많은 Node.js 웹 서버가 Express.js로 개발 되었지만, 최근에는 Nest.js가 많이 쓰인다고한다.

🐥 그러면 Express를 사용해보자 !

  1. 터미널에 npm init -y 으로 생성하면
    자동으로 package.json이 추가된다.

  2. 다시 터미널에 npm i express 를 입력하면

express가 추가된것을 볼 수 있다.

🐣 Routing

Routing은 클라이언트 요청 조건에 대응해 응답하는 방식이다.

Rotuer란 클라이언트의 요청을 쉽게 처리할 수 있게 도와주는 Express.js의 기본 기능중 하나이다.

🐥router의 기본구조

router.METHOD(PATH, HANDLER);

🐥router 사용

경로 routes/goods.js 라는 폴더

//express에서 받아와서 저장 후
// 라우터 변수에 라우터를 할당해준다.
const express = require("express");
const router = express.Router();

//localhost:3000/api/GET
//로컬 호스트 3000번.. api 경로에 GET요청
router.get("/", (req, res) =>{
	res.send("defalut url GET Method");
})


//모듈 exports 해주면 완료
module.exports = router;

이제 이걸 다른 파일에서

// routes파일 밑에있는 goods에서 import해준다. 
const goodsRouter = require("./routes/goods");

// localhost:3000/api -> goodsRouter
app.use("/api", [goodsRouter]);

localhost:3000/api를 통해 들어오는 경로는 goods.js를 통해 처리된다.
app.use() <- 미들웨어를 통해 처리했다.

🐣 Schema

스키마는 컬렉션에 들어가는 문서에 어떤 종류의 값이 들어가는지 정의한다. 한국어로 번역하면 개요란 뜻이다.

데이터를 모델링 할 때 사용한다. 타입을 정리한다고 생각하면 될 것 같다.

ex)

//monggoDB에 mongoose에서 받아온다.
const mongoose = require("mongoose");

//이런식으로 들어갈 값을 정의 해준다.
const goodsSchema = new mongoose.Schema({
  goodsId: {
    type: Number,
    required: true,
    unique: true
  },
  name: {
    type: String,
    required: true,
    unique: true,
  },
  thumbnailUrl: {
    type: String,
  },
  category: {
    type: String,
  },
  price: {
    type: Number,
  }

});

//마지막으로 exports 해주면 끝
module.exports = mongoose.model("Goods", goodsSchema);

대표적인 값에는 null, String, Number, Date, Buffer, Boolean, ObjectId, Array들이 있다. 사실 객체(클래스) 같은 느낌인것 같다.


🐥 결론

웹 프레임워크 express와 MonggoDB를 활용해 웹 서버를 구축하려 할 때
Schema로 값 들을 정의 해주고, router에서 값들을 GET, POST, PUT, DELET.. 등을 이용해서 처리한다.

🐤🐥🐤🐥🐤🐥🐤🐥🐤🐥🐤🐥🐤🐥🐤🐥🐤🐥🐤🐥🐤🐥🐤🐥🐤🐥

2개의 댓글

comment-user-thumbnail
2023년 11월 2일

잘읽고 갑니다 한수 배워가네요

1개의 답글