web

express 서버 사용하기

tpghks9245 2022. 4. 25. 19:04

express

http 모듈로 웹 서버를 만들 때 코드가 보기 좋지 않고, 확장성도 떨어짐.

- 프레임 워크로 해결.

- 대표적인 것이 Express(익스프레스), Koa(코아), Hapi(하피).

- 코드관리도 용이하고 편의성이 많이 높아짐.

 

미들웨어

클라이언트에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간에 목적에 맞게 처리를 하는 함수(?).

라우터에서 중복되는 코드 제거 가능.

 

const express = require('express'); // express서버
const path = require('path'); // 경로처리를 위해
const app = express();
 
app.set('port', process.env.PORT || 3000);

app.use((req, res, next) => { // 어떤 주소로 가던지 실행됨. next()넣어줘야 다음으로 넘어감.
  console.log('모든 요청에 실행하고 싶어요.');
  next();
});

app.get('*', (req, res) => { // 모든 주소에 대해 반응. 이렇게 넣으면 안됨.
  res.send('all');
});

app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, 'index.html'));
});

app.post('/', (req, res) => {
  res.send('hello express!');
});

app.get('/about/:name', (req, res) => { // :name 부분으로 인해 /about/  <- 이부분에 어떤것을 넣던 이 함수가 실행됨. 와일드카드
  res.send('wild card');
});

app.get('/about/1', (req, res) => { // 와일드카드로인해 실행안됨.
  res.send('about');
});

app.listen(3000, () => {
  console.log('익스프레스 서버 실행');
});