NODE.JS(Express)5 [Express] express-session express-session 터미널에서 npm install express-session 을 이용해 설치한다. npm install express-session express-session은 세션 관리용 미들웨어이다. 세션은 사용자별로 req.session 객체 안에 저장된다. 이 라이브러리는 세션을 관리할 때 클라이언트에 세션 쿠키를 전송한다. 안전하게 쿠키를 전송하기 위해서는 쿠키에 서명을 추가하는 것이 좋은데, 이때 secret의 값이 필요하다. const session = require("express-session"); app.use( session({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cook.. NODE.JS(Express) 2023. 1. 19. [Express] 미들웨어란? 미들 웨어 미들웨어 : 요청과 응답의 중간(middle) 에 위치하여, 미들웨어라고 부른다. 미들웨어를 사용해 요청과 응답을 조작하여 기능을 추가하거나, 올바르지 않은 요청을 걸러낸다. 미들웨어를 만들 때는 req, res, next라는 매개변수를 주어야 한다. req는 요청, res는 응답, next는 미들웨어의 작동을 마치고 다음으로 넘어가라는 뜻이다. 모든 미들웨어는 app.use를 통해 사용할 수 있으며, app.user(미들웨어) 로 사용한다. 이때 첫 번째 인수로 주소를 넣어줄 수도 있는데, 주소를 넣어주면 해당 요청에서만 미들웨어를 실행하게 된다. app.use(미들웨어) 모든 요청이 들어올 때 미들웨어를 실행함 app.use('/login',미들웨어) login로 시작하는 요청이 들어올 때.. NODE.JS(Express) 2023. 1. 19. [Node.js] Express에서 Router 사용하기 express에는 Router가 기본으로 포함되어 있다. 따라서 Express를 사용한다면 곧장 라우터를 사용할 수 있다. 메인이 되는 서버 파일, index.js에서 express를 import 해 준다. 리액트에서 요청하게 할 것이므로 cors를 설치해 주었다. //index.js const express = require('express') const app = express() app.use(express.json()); var cors = require('cors'); app.use(cors()); app.listen(5000,function(){ console.log('서버를 열었습니다.') }) 루트 폴더에 routes폴더를 만들고, 라우터로 사용할 js파일을 만든다. 프론트에서 route .. NODE.JS(Express) 2023. 1. 2. [Node.js] .env 환경변수 파일 생성과 이용 Node.js에서는 프로젝트 디렉토리에 .env라는 파일이 존재하면, 환경변수처럼 소스코드로 가져와서 사용할 수 있다. .env 파일은 Object처럼 key=value 형식으로 작성하며, 주석을 작성하고자 할 때는 문장의 맨 앞에 #을 붙인다. # 주석을 사용할 때는 #을 붙인다. # 저장할 값이 문자열이라고 해도 따옴표는 사용하지 않는다. key=값 .env 파일을 이용하려면 dotenv 패키지를 설치해야 한다. npm install dotenv .env 파일을 dotenv 패키지로 불러올 수 있다. require('dotenv').config(); .env 파일은 [프로젝트의 루트] 폴더에 생성한다. 테스트용으로 TEST_DATA = test 라는 문장을 .env 파일에 작성한다. .env 파일에 .. NODE.JS(Express) 2023. 1. 2. [Node.js] body-parser 사용법 사용법 2021년도 이후 Express 프로젝트들은 body-parser 라이브러리가 express에 기본으로 포함된다. 따라서 별도로 라이브러리를 설치할 필요 없이, 아래 코드만 최상위 server.js에 작성해주면 된다. app.use(express.urlencoded({extended: true})) 라우터를 사용할 경우, 해당 코드 밑에 라우터를 app.use 해주면 라우터들에서도 body-parser의 사용이 가능하다. server.js에 테스트용 board 라우터를 만들고 아래와 같이 app.use로 불러와본다. app.use('/api/board', require('./routes/board')) board 라우터에 /write 라우터를 만들어 작성한다. 버튼을 누르면 콘솔에 req가 보내준.. NODE.JS(Express) 2022. 12. 5. 이전 1 다음