학습내용 출처:노드.js교과서 개정판,조현영 저
익스프레스
- http 모듈의 요청과 응답 객체에 추가 기능들을 부여
- 기존 메서드 사용가능 & 편리한 메서드들을 추가
- 또한, 코드를 분리하기 쉽게 만들어져 관리 용이
- if문으로 요청메서드, 주소 구분 필요 X
프로젝트 시작
{
"name": "learn-express",
"version": "0.0.1",
"description": "익스프레스를 배우자",
"main": "app.js",
"scripts": {
"start": "nodemon app"
},
"author": "ZeroCho",
"license": "MIT"
}
- app.set(키,값) 데이터 저장하기
- process.env객체에 속성이 있으면 사용하거 없으면 3000이 기본값!
const express = require('express');
const app = express(); //express 실행 app 변수에 할당
app.set('port', process.env.PORT || 3000); //서버 실행 포트 설정
- app.get(주소,라우터)
- 주소에 대한 Get 요청이 올 떄 어떤 동작할지 보여줌.
- 매개변수 req는 요청에 대한 정보, res는 응답에 관한 정보 각각 有
- Express에서는 res.write, res.end 대신 --> res.send 사용!
app.get('/', (req, res) => {
res.send('Hello, Express');
}); //겟요청시! Hello,Express 전송함!
app.listen(app.get('port'), () => {
console.log(app.get('port'), '번 포트에서 대기 중');
});
Other than POST,
PUT, PATCH, DELETE, OPTIONS에 대한 라우터를 위한 app.post, app.put, app.patch. app.delete, app.options 메서드가 존재
npm start & 로컬 확인
문자열 대신에 HTML 넣을 경우
es.sendFile 메서드 사용하기
BUT 파일의 경로를 path 모듈로 지정하기
<html>
<head>
<meta charset="UTF-8" />
<title>익스프레스 서버</title>
</head>
<body>
<h1>Express</h1>
</body>
</html>
const express = require('express');
const path = require('path');
const app = express();
app.set('port', process.env.PORT || 3000);
app.get('/', (req, res) => {
// res.send('Hello, Express');
res.sendFile(path.join(__dirname, '/index.html'));
});
app.listen(app.get('port'), () => {
console.log(app.get('port'), '번 포트 대기중');
});