나의 발자취

[node.js]express, nodemon 이용하기 본문

Backend

[node.js]express, nodemon 이용하기

달모드 2024. 9. 26. 10:41

express, nodemon 패키지 설치

일단, 터미널에

npm i express

npm i nodemon

을 입력하고 package.json 파일에 패키지가 설치된 것을 확인해준다.

 

express를 이용해서 서버 띄우기

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
    res.send("Hello World!");
}); // get 요청만 받겠다


app.listen(port, () => {
    console.log(`First Express app listening on port ${port}`);
})

 

 

nodemon 으로 서버 실행 자동화

맨날 ^C로 서버 내렸다가 node [파일명]으로 명령 실행하는게 귀찮아서 노드몬을 사용할것이다.

일단 package.json으로 가서, "scripts"태그를 추가해주면서 "dev" 값(개발용 서버)으로 자동으로 서버를 띄울 파일명을 적어준다.

{
  "scripts": {
    "dev": "nodemon ch04_07.js"
  },
  
  "dependencies": {
    "express": "^4.21.0",
    "nodemon": "^3.1.7"
  }
}

 

그리고 터미널창으로 가서 npm run dev를 입력한다.

 

그러면 내가 코드를 고치는 동안 노드몬이 열일하면서 터미널창에 변경사항을 반영해서 계속 서버를 재실행해준다.

 

그러면 내가 반영한 코드(좌)가 바로 웹(우)에 반영이 된다.

 

 

URI 형태로 id객체 넘겨주기 

/로 파싱한 URL 파라미터 값을 받아서 객체를 넘겨주는 작업을 해보겠다.

 

기존 코드

// view
app.get("/view", (req, res) => {
  res.json({name: "홍길동"});
});

 

변경된 코드

// view
app.get("/view/:id", (req, res) => {
  const id = req.params.id;
  const data = fs.readFileSync("test.json", "utf-8");
  const result = JSON.parse(data);
  const posts = result["result"];
  let post = {}; // post 객체 선언 (id에 해당하는 데이터를 담을 변수)

  posts.forEach((item) => {
    if (item.id == id) {
      post = item;
    }
  });
  res.json(post);
});

 

그러면 'http://localhost:3000/view/2' 라고 입력했을 때 json 객체가 잘 넘어오는 것이 확인된다.

Comments