[Node.js] 기본 설정 및 라우터 설정

채연·2023년 6월 17일
0

Node.js

목록 보기
1/16

환경설정

package.json 만들기

npm init -y

express 설치

npm install express

server.js 파일을 생성 후, 시작점 만들기

  • express를 사용하지 않았을 경우

    const server = http.createServer((req, res) => {
     res.writeHead(200, {
       "Content-Type": "text/plain",
     });
    
     res.end("Hello!");
    });
    
    server.listen(PORT, () => {
     console.log(`listening on port ${PORT}...`);
    });
    
  • express를 사용할 경우

    // express 모듈 불러오기
    const express = require("express");
    
    // 포트, 호스트 지정(호스트는 안 해줘도 됨)
    const PORT = 8080;
    const HOST = "0.0.0.0";
    
    // 새로운 Express 어플 생성
    const app = express();
    
    // / <- 경로로 요청이 오면 Hello World를 결과값으로 전달
    app.get("/", (req, res) => {
     res.send("Hello World");
    });
    
    // 해당 포트와 호스트에서 HTTP 서버 시작
    app.listen(PORT, HOST);
    
    console.log(`Running on http://${HOST}: ${PORT}`);

링크주소 로 가면 밑의 사진과 같이 나오는 것을 확인할 수 있다!

라우터 핸들러 생성

  • 핸들러 생성 전, 더미 데이터를 만들어준다
const Users = [
  {
    id: 1,
    name: "chaeyeon",
  },
  {
    id: 2,
    name: "sihyeon",
  },
  {
    id: 3,
    name: "suyeon",
  },
];
  • 핸들러 생성
app.get("/users", (req, res) => {
  res.send(Users);
});

링크 주소 가면 확인 가능!

라우트 파라미터

웹 애플리케이션에서 동적으로 생성되는 URL의 일부를 나타내는 매개변수

예를들어 아래의 URL 파라미터가 존재한다.

/blog/:id

위 패턴은 "/blog/" 뒤에 오는 동적인 값을 캡처하는 라우트 파라미터이다. 여기서 ":id"는 임의의 블로그 게시물 식별자를 나타내는 값을 가질 수 있다. 예를 들어, "/blog/123"은 게시물 ID가 123인 블로그 게시물에 대한 요청을 나타낸다.


  • 라우터 핸들러 생성
app.get("/users/:userId", (req, res) => {
  // 받아온 userId를 number로 변환(string으로 들어올 경우 방지)
  const userId = Number(req.params.userId);
	
  // Users 배열 인덱스에서 찾아냄
  const user = Users[userId];

  // user가 있다면 출력, 없다면 404
  if (user) {
    res.json(user);
  } else {
    res.sendStatus(404);
  }
});

링크 주소 에 가면 확인 가능

res.end

보내는 데이터가 없을 때 사용(ex. 404 페이지)

profile
Hello Velog

0개의 댓글