고양이와 코딩

[웹 풀사이클 데브코스 TIL] 4주차 Day 3 - Express.js 사용해서 웹 서버 구동 시켜보기 본문

데브코스 TIL

[웹 풀사이클 데브코스 TIL] 4주차 Day 3 - Express.js 사용해서 웹 서버 구동 시켜보기

ovovvvvv 2023. 12. 6. 14:03
728x90

외장 모듈인 express를 사용해서 서버를 구축 해 볼거에요

 *npm에 express install 방법, 사용 방법 코드가 다 나와있어요 !

 

기존 http 방식으로 서버를 구동할때는 

let http = require('http')

이처럼 let을 사용하고 있는데 

 

express를 사용하면

const express = require('express')

const로 선언해 주고 있어요. 이 부분이 왜 다른지 궁금해졌습니다 !

직접적인 규칙은 없지만.. 이 변수들은 일반적으로 한 번 초기화 되면 변경되지 않기 때문에 const로 선언하는 것이 관례입니다

(http의 let을 const로 사용해도 됨)

 

const express = require('express')
const app = express()

app.get('/daomi', function (req, res) {
  res.send('Coyangee')
})


app.listen(3000)

이런식으로 작성하면 원하는 주소에 원하는 결과를 내보낼 수 있습니다 ( ´・ᴗ・` )

 

app.get('/products/1', function(req, res){
    res.send('Node.js를 배워보자')
    res.send(20000)
})

'Node.js를 배워보자' 와 20000을 보내고 있는데, 저장하고 서버를 확인하면 첫 번째 텍스트밖에 보이지 않습니다!

데이터를 "객체" 에 담아서 보내야 해요

 

지금까지 다른 개발자 분들이나.. 주변 프로젝트 깃허브를 몰래 훔쳐 보면, 데이터를 어쩌구.json파일에 담아놓고 가져다 
쓰는걸 봤었는데.. 전혀 뭔지 모르고 그냥 저렇게 쓰는건가보다. 라고 생각만 하고 있었어요

json (javscript object notation) 이라는것을.. 오늘 깨달았습니다.. ^^ (충격)

 

let nodeJsBook = {
    title: "Sherlock Holmes",
    price: 10000,
    description: "셜록 진짜 짱 재밌음!!"
}

function print(book){
    console.log(book.title)
    console.log(book.price)
    console.log(book.description)
}

print(nodeJsBook);

이런식으로 객체를 생성하고 함수를 만들어서 출력도 해봤는데요, 
✨ 제가 가장 헷갈려하던 것 중 하나인..!! 전달하는것 .. props 공부할때도 정말 애를 먹었거든요,,

객체 명과 함수 안에 전달해줄 객체 명은 같지 않아도 된다는걸 짚어주셔서 너무 감사했습니다 ㅎㅎ

 

 

 

ID 관리 ?

상품을 관리하고싶은데.. 지금까지는 res.json안에 객체로 하나씩 상품을 넣어줬었어요, 만약 상품이 5000개가 된다면.. ?
이걸 하드코딩하면!! 안됩니다 ❌

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

app.listen(3000)

app.get('/products/:n', function(req,res){
    res.json({
        num: req.params.n
    })

})

이런식으로 :n 을 사용해서 관리하는데요, req.params.n 으로 주소값에 들어가는 숫자가 출력되게 됩니다

 

 

 

 

 

 

react router를 사용해서 주소 관리하는 방법과 비슷하다는 생각이 들었습니다 ㅎㅎ
id를 관리하는 과정을 이렇게 순차적으로 배우니 쉽게 느껴졌습니다.. 
기초를 탄탄히 다지는게 중요하다는걸 다시 한 번 느낀 하루였어요 ( ื▿ ืʃƪ)