Node Express 사용해보기.

otter·2022년 2월 24일
0
post-custom-banner

Express를 사용하는 이유

  • express를 사용함으로써 request에 응답하는 서버를 구성할 수 있다.
  • express는 request를 - request는 단순 text 문자열이다. http 메서드 생각 - 읽을 수 있게 파싱한다.
  • 또 파싱한 request를 요청한 내용에 따라 특정한 라우팅에 매치되도록 한다.
  • 이로써, 요청에 맞는 응답을 하는 페이지를 작성할 수 있다.

Express 시작하기

const express = require('express');
// 모듈을 로드해오는 코드
const app = express();
// 익스프레스를 함수처럼 호출하고 있다-> 익스프레스는 일종의 함수임.
// 여기 안에 application이라는 객체가 담겨있고, 우리는 이를 사용할 수 있음.

const port = 3000

app.get('/', (request, res) => {
//   res.send('Hello World!')
    // page에 문자 띄우기
  res.send('<h1>this is START</h1>')
    // HTML 보내기
})
// get(paths, )
// route, routing
// 어떤 길을 따라서 가다가, 갈림길에서 방향을 잡는 것.
// 사용자들이 여러가지 path를 통해서 들어올때 적당한 응답을 해주는 것.


app.get('/page', (req, res) => {
    res.send('/page')
  })
// localhost:3000/page에, /page가 출력됨.
// get 메서드의 첫번째 인자를 통해서 routing을 구현할 수 있다.

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
// 3000번 포트에 listen하게되고, 성공하면 console.log이 찍히도록 되어 있다.

html 보내기

  • res.sendFile메서드를 사용한다.
	res.sendFile(path [, option] [,fn])
  • path를 통해 경로를 설정할 수 있다.
  • option에서 헤더의 정보나. 루트 디렉토리를 설정할 수 있다.
  • fn에서 에러처리를 할 수 있다.
app.get('/', (request, res) => {
  res.sendFile(__dirname +'/index.html');
})
  • 간단히 이렇게만 해도, 기본페이지에 html파일을 보낼 수 있다.
  • 하지만 이는 html파일만 보내지는 것이고 css나, js파일은 포함되지 않는다.

미들웨어

express에 정적파일 보내기

  • express.static( <directory> ) 함수를 사용한다.
	app.use(express.static('public'));
  • dirname__/public 디렉토리에 존재하고 있는 모든 파일이 서버에 보내진다.
  • 실제로 /public/ 를 입력해보면 해당파일이 존재하고 있는 것을 확인할 수 있다.
  • 이 방법으로 아주 간단하게 사용하는 css, image파일을 보낼 수 있다.
profile
http://otter-log.world 로 이사했어요!
post-custom-banner

0개의 댓글