Express를 사용하는 이유
- express를 사용함으로써
request
에 응답하는 서버를 구성할 수 있다.
- express는
request
를 - request는 단순 text 문자열이다. http 메서드 생각 - 읽을 수 있게 파싱한다.
- 또 파싱한
request
를 요청한 내용에 따라 특정한 라우팅에 매치되도록 한다.
- 이로써, 요청에 맞는 응답을 하는 페이지를 작성할 수 있다.
Express 시작하기
const express = require('express');
const app = express();
const port = 3000
app.get('/', (request, res) => {
res.send('<h1>this is START</h1>')
})
app.get('/page', (req, res) => {
res.send('/page')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
html 보내기
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파일을 보낼 수 있다.