express
- JavaScript로 작성되고 Node.js 런타임 환경에서 구동 되는 웹 프레임워크
- Node.js : Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임
- 제공 메커니즘
- HTTP 통신 요청(Request; GET, POST, DELETE 등)에 대한 핸들러를 만든다.
- 템플릿에 데이터를 넣어 응답(response)을 만들기 위해 view의 렌더링 엔진과 결합(integrate)한다.
- 접속을 위한 포트나 응답 렌더링을 위한 템플릿 위치같은 공통 웹 어플리케이션 세팅을 한다.
- 핸들링 파이프라인(reqest handling pipeline) 중 필요한 곳에 추가적인 미들웨어 처리 요청을 추가한다.
express 모듈 설치
- 터미널 입력
* 해당 디렉토리에 express 설치
npm install express
* 전체 디렉토리에서 사용하도록 설치 (-g : global)
npm install -g express


서버 실행
- 터미널 입력
node index.js
- 브라우저에서 확인 (http://localhost:3000/)
라우팅
app.METHOD(PATH, HANDLER)
- app : express의 인스턴스
- MEHTOD : HTTP 요청 메서드
- PATH : 서버에서의 경로
- 경로는 문자열, 문자열 패턴, 정규식일 수 있다. 라우트 경로
- HANDLER : 라우트가 일치할 때 실행되는 함수
- 여러 콜백 함수를 제공하여 요청을 처리할 수 있다. 라우트 핸들러
기본 라우팅 예시
const express = require('express') // express 모듈 불러오기
const app = express()
const port = 3000
// req = request (요청)
// res = response (응답)
// 홈 페이지에서 Hello World!로 응답:
app.get('/', (req, res) => {
res.send('Hello World!')
})
// 애플리케이션의 홈 페이지인 루트 라우트(/)에서 POST 요청에 응답
app.post('/', function (req, res) {
res.send('Got a POST request');
});
// /user 라우트에 대한 PUT 요청에 응답
app.put('/user', function (req, res) {
res.send('Got a PUT request at /user');
});
// /user 라우트에 대한 DELETE 요청에 응답
app.delete('/user', function (req, res) {
res.send('Got a DELETE request at /user');
});
// port에서 서버를 시작함
// 위에 포트를 3000으로 연결 해줬으므로 http://localhost:3000/ 에서 예제를 확인할 수 있다.
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
Response methods (응답 메서드)
Method(메서드) | Description(설명) |
res.download() | 파일이 다운로드되도록 프롬프트 |
res.end() | 응답 프로세스 종료 |
res.json() | JSON 응답을 전송 |
res.jsonp() | JSONP 지원을 통해 JSON 응답을 전송 |
res.redirect() | 지정된 url로 이동 |
res.render() | 뷰 템플릿 렌더링 |
res.send() | 다양한 유형의 응답을 전송 |
res.sendFile() | 지정된 경로에서 파일을 전송. 파일 이름의 확장자를 기반으로 Content-Type 응답 HTTP 헤더 필드를 설정 |
res.sendStatus() | 응답 상태 코드를 설정하고 해당 코드를 문자열로 표현한 내용을 응답 본문으로 전송 |
Reference
npm
express
Fast, unopinionated, minimalist web framework. Latest version: 4.18.2, last published: 6 months ago. Start using express in your project by running `npm i express`. There are 71551 other projects in the npm registry using express.
www.npmjs.com
express
https://expressjs.com/ko/starter/hello-world.html
Express "Hello World" 예제
Hello world 예제 기본적으로 이 앱은 여러분이 작성할 수 있는 가장 간단한 Express 앱일 것입니다. 이 앱은 하나의 파일로 된 앱이며 Express 생성기를 통해 얻게 되는 앱과는 같지 않습니다. (이 예제
expressjs.com
mdn
https://developer.mozilla.org/ko/docs/Learn/Server-side/Express_Nodejs/Introduction
Express/Node 소개 - Web 개발 학습하기 | MDN
첫번째 Express 수업에서는 Node, Express를 알아보고, Express 웹 프레임워크 제작의 전반에 대해 배우게 됩니다. 우선 주요 특징들에 대한 틀을 정리한 후 Express 어플리케이션을 구성하는 주요 구성요
developer.mozilla.org
조코딩 Node.js 백엔드 기초
https://www.youtube.com/watch?v=Tt_tKhhhJqY
'Node' 카테고리의 다른 글
[Nodemon] 설치, 실행, 실행 에러 (0) | 2023.04.05 |
---|
댓글