
Express.js
최근 수정 시각:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
설치법
express-generator를 사용하면 Express의 기본골조를 바로 생성해준다.개꿀 다만 자주 쓰다보면 코드가 외워지게 된다
여러 옵션으로 view engine[1] 이나 CSS등을 선택할 수 있다.
$ npm install express-generator -g
express-generator를 사용하면 Express의 기본골조를 바로 생성해준다.
여러 옵션으로 view engine[1] 이나 CSS등을 선택할 수 있다.
import express from 'express'; // ES Module의 경우
const express = require('express'); // CommonJS의 경우
// 위의 구문의 경우 두 줄 다 쓰는 것이 아니라 자신이 쓰는 형식에 맞춰서 써야한다
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});다음과 같이 app.js를 작성한다. 설명을 하자면, 앱을 시작하면 앱은 3000 포트에 대해서 연결된다. URL '/'에 대해서 'Hello World!'라는 응답을 하고, 그 외의 URL에는 404 Not Found로 응답한다.[2]
$ node app.js
다음과 같이 실행시키면 간단한 Hello World 웹서버가 시작되고, 터미널에는 'Example app listening at http://localhost:3000'이라는 메세지가 나온다. 이제 http://localhost:3000에 들어가면 Hello World 응답을 받을 수 있다.
미들웨어는 Express.js에 기본적으로 제공하지 않는 기능을 구현해 놓은 함수이자 일종의 플러그인이다.
미들웨어를 사용하여 여러 가지 고급 기능을 서버에 제공할 수 있다.
미들웨어를 사용하여 여러 가지 고급 기능을 서버에 제공할 수 있다.
- express.compress : HTTP 본문을 압축하여 전송
- express.json : JavaScript Object 값을 JSON으로 전송 및 JSON 형식 Body를 자동으로 파싱 처리
- express.session : 서버에 Session 스토리지를 구현[5]
- express.static : 서버 파일시스템에 저장된 정적 리소스[6] 제공
- cookie-parser : HTTP 헤더에서 Cookie 값을 추출
- cors : CORS(교차 출처 리소스 공유) 정책을 설정
- morgan : 터미널에 서버 로그 작성
- passport : 로그인 기능을 구현[7]
- 나무위키의 엔진인 the seed도 Express.js를 사용한다.
- 2016년을 기점으로 업데이트 빈도가 줄어들기 시작하여 현재는 의미있는 업데이트가 이루어지고 있지 않다. Express.js 팀이 새로 개발중인 Koa로 대부분의 개발자가 넘어가고 있는 실정이다.
[1] pug, ejs, handlebars 등을 주로 사용[2] 접속하려면 브라우저에서 127.0.0.1:3000로 접속한다. 포트를 80으로 하면 :숫자를 안 붙여도 된다.[3] GET 뿐만 아니라, POST, DELETE, PUT과 같은 HTTP 요청 및 모든 요청에 관한 all도 지원한다.[4] URI 정의. 대소문자를 구분하지 않으며, 구분하려면 정규 표현식을 사용해야 한다.[5] 데이터베이스에 연결시켜서 사용한다. 종류는 상관없음.[6] 예: CSS, Client-side scripts, 이미지, 폰트,오디오 등[7] 구글, 네이버 등의 소셜 로그인 기능도 쓸 수 있다.
![]()
이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외)
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.
나무위키는 백과사전이 아니며 검증되지 않았거나, 편향적이거나, 잘못된 서술이 있을 수 있습니다.
나무위키는 위키위키입니다. 여러분이 직접 문서를 고칠 수 있으며, 다른 사람의 의견을 원할 경우 직접 토론을 발제할 수 있습니다.