본문 바로가기

Programming

(477)
7. 익스프레스 (1) - 미들웨어 [8] : express-session 2 [app.js] const express =require('express');const morgan = require('morgan');const cookieParser = require('cookie-parser');const session = require('express-session');const dotenv = require('dotenv');const path = require('path');dotenv.config();const app = express();app.set('port', process.env.PORT || 3000);app.use(morgan('dev'));app.use('/', express.static(path.join(__dirname, 'public')));app.use..
7. 익스프레스 (1) - 미들웨어 [7] : express-session 1 express-session은 세션 관리를 하는 미들웨어 입니다. 로그인 등의 이유로 세션을 구현하거나, 특정 사용자 데이터를 임시로 저장할 때 사용하죠. 세션은 사용자별로 req.session 객체에 유지됩니다.   [app.js] const express =require('express');const morgan = require('morgan');const cookieParser = require('cookie-parser');const session = require('express-session');const dotenv = require('dotenv');const path = require('path');dotenv.config();const app = express();app.set('po..
7. 익스프레스 (1) - 미들웨어 [6] : cookie-parser cookie-parser는 req에 포함된 쿠키를 해석하고, req.cookies 객체로 만들어주는 역할을 합니다. 이는 parseCookies 함수와 기능이 비슷하죠.   5. http 모듈로 서버 만들기 (3) - 쿠키와 세션의 이해 [4]앞선 아티클에서 쿠키를 통한 유저 식별 사례 예제 코드를 작성했습니다. 이어서 계속 설명해 보겠습니다.  [cookie2.html] LOGIN    [cookie2.js]const http = require('http');const fs = require('fs').promises;const patnozeroslope.tistory.com 예제와 함께 이어서 살펴보겠습니다.  [app.js] const express =require('express');const m..
7. 익스프레스 (1) - 미들웨어 [5] : body-parser 이번 아티클에서는 미들웨어 body-parser에 대해서 살펴봅니다. 이는 req의 본문에 있는 데이터를 해석해서 req.body로 만들어 주는 미들웨어죠. 폼 데이터, AJAX 요청의 데이터를 처리합니다. 참고로 멀티파트(이미지, 동영상, 파일) 데이터는 처리가 불가능해서 향후 살펴볼 multer 모듈을 사용하게 됩니다.   [app.js] const express =require('express');const morgan = require('morgan');const cookieParser = require('cookie-parser');const session = require('express-session');const dotenv = require('dotenv');const path = req..
7. 익스프레스 (1) - 미들웨어 [4] : static 앞서 작성했던 [app.js]를 이어서 살펴보겠습니다.  [app.js] const express =require('express');const morgan = require('morgan');const cookieParser = require('cookie-parser');const session = require('express-session');const dotenv = require('dotenv');const path = require('path');dotenv.config();const app = express();app.set('port', process.env.PORT || 3000);app.use(morgan('dev'));app.use('/', express.static(path.joi..
7. 익스프레스 (1) - 미들웨어 [3] : morgan 앞서서 작성한 app.js를 좀 더 하나씩 살펴보겠습니다.  [app.js] const express =require('express');const morgan = require('morgan');const cookieParser = require('cookie-parser');const session = require('express-session');const dotenv = require('dotenv');const path = require('path');dotenv.config();const app = express();app.set('port', process.env.PORT || 3000);app.use(morgan('dev'));app.use('/', express.static(path.j..
7. 익스프레스 (1) - 미들웨어 [2] : 다양한 미들웨어 적용하기 미들웨어에 대한 기본적인 사용방법을 살펴보았으니, 이제 다양한 미들웨어를 설치하고 각각의 패키지에 대해서 살펴보겠습니다. 여기서 살펴볼 패키지는 morgan, cookie-parser- express-session, dotenv입니다. 참고로 dotenv 패키지는 미들웨어는 아니고 process.env를 관리하기 위한 패키지 입니다. learn-express 폴더에서 다음과 같이 패키지를 설치합니다. $ npm i morgan cookie-parser express-session dotenv  이제 app.js를 수정하고, .env(닷env, 확장자 없으며 .env가 파일명) 파일을 생성합니다.   [app.js] const express =require('express');const morgan = r..
7. 익스프레스 (1) - 미들웨어 [1] 미들웨어는 익스프레스의 핵심적인 요소로, '요청'과 '응답'의 중간(middle)에 위치합니다. 요청과 응답을 컨트롤 하여 여러 기능을 추가하거나 관리해주는 역할을 하죠.  미들웨어를 실행하는 가장 기본적인 방식은 app.use(미들웨어)입니다. 여기에 인수로 라우팅 주소를 포함하여 사용하기도 하는데, 간단히 정리하면 아래의 표와 같습니다.  종류설명app.use(미들웨어)모든 요청에서 미들웨어 실행app.use('/abc', 미들웨어)abc로 시작하는 요청에서 미들웨어 실행app.post('/abc', 미들웨어)abc로 시작하는 POST 요청에서 미들웨어 실행  우선 앞선 아티클에서 작성했던 app.js를 미들웨어를 포함하여 수정하고 살펴보겠습니다.   [app.js] const express =req..