express 시작하기 및 자주 사용되는 모듈

romini·2024년 5월 9일

설치하기

npm install express

express 앱 생성하기

import express from 'express';

const app = express();

app.use()

  • 미들웨어, 라우터 두 가지 용도로 사용가능
  • Application Level 미들웨어로 사용하기

//요청을 json형태로 받는 데 특화된 라이브러리 express 내장함수들
app.use(express.urlencoded({extended: true, limit:"700mb"})); //http URL 쿼리를 좀 더 쉽게 다룰 수 있게 해줌 //용량 제한 설정 json으로 700mb까지만 받음
app.use(express.json()); //다양한 형태의 리퀘스트 바디 확인 가능 

app.use(cors({origin:"*"})); //cors
app.use(helmet()); //보안강화

  • 라우터로 사용하기
app.use("/users",router);

app.get() .post() .patch() .delete()

  • 각각 해당하는 메소드로 들어온 요청을 받을 수 있게 된다.

app.listen()

  • express 앱 실행하기
app.listen(8000, ()=>{ // app.listen(작동포트, 서버 실행 후 실행 될 콜백 함수)
    console.log("server start");
})
  • app.listen(작동포트, 서버 실행 후 실행 될 콜백 함수)

main entry point

import express from 'express';

const app = express();

// middleware 사용
app.use();

// req : 요청 -> Request
// res : 응답 -> Response 
app.get("/", (req, res) => {
    res.send("message");
})

express 자주 사용되는 모듈 및 라이브러리

모듈설명
cors접근 가능한 도메인을 제한
접근 가능 도메인 외에는 요청 시 cors 에러 발생
helmetHttp 헤더 설정을 통해 보안 강화
dayjs날짜 관련 작업을 할 때 사용
nodemon수정된 코드 반영해서 서버를 자동으로 다시 실행
개발환경에서만 사용되니 -D 할 것
axios다른 서버에 요청을 보낼 때 사용
bcrypt비밀번호 암호화에 사용.
단방향 해시 알고리즘 암호화, 암호화는 되는데 복호화가 안됨.
jsonwebtokenjwt, 로그인한 유저 정보를 토큰으로 만들기 위해 사용
  • cors와 helmet은 express middleware에 넣어서 사용

0개의 댓글