본문 바로가기
Node

express

by lvd-hy 2023. 4. 20.
반응형

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

라우팅

💡
라우팅? URI(또는 경로) 및 특정한 HTTP 요청 메서드(GET, POST 등)인 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것을 말함
 
app.METHOD(PATH, HANDLER)
  • app : express의 인스턴스
  • 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

https://www.npmjs.com/package/express

 

 

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

댓글