Programming/Node.js

과거에는 body-parser 모듈을 설치해 json() 메소드를 호출하여 body값 파싱을 하였는데 v4.16.0 기준 버전부턴 Express body-parser 모듈이 내장되어 있다. ❓ 그래서 왜 사용하는 것이야? 클라이언트에서 POST request를 보내면 요청 데이터가 req.body 객체에 담겨서 전달되는데 이 때 express.json()을 사용하지 않고 값을 출력하게 되면 undefined가 반환된다. body-parser 미들웨어 express.json() 사용 전 import express from "express"; const app = express(); app.post("/login", (req, res, next) => { try { console.log("req.body:"..
mongoose.connection.on() 과 once()의 차이? mongoose.connect(uri, options); const db = mongoose.connection; db.once('open', () => { console.log('connection success'); }); db.on('error', () => { console.log('connection error'); }); 주어진 이벤트가 생성될 때 실행할 콜백이다. db.on('error', 콜백함수)은 error 이벤트가 발생할 때마다 콜백함수가 호출됨을 의미한다. db.once('open', 콜백함수)는 사용하면 이벤트가 한 번만 호출됨을 의미하며, mongodb에 대한 연결이 열려 있을 때, 즉 연결이 성공하면 콜백함수..
📌 미들웨어 express 프레임워크의 장점 중 하나로 미들웨어를 사용함. 미들웨어란 요청에 대한 응답 과정 사이에서 어떠한 동작을 하는 프로그램. 즉, express는 요청이 들어오면 그에 대한 응답을 보내주는데 클라이언트가 보내는 요청을 받고 응답을 보내주는 과정의 중간(middle)에 개발자가 개입·간섭하여 로직 생성, 요청 및 응답 객체에 대한 변경과 흐름 제어 등을 한다. 현재의 미들웨어 함수가 요청-응답 사이클을 종료하지 않는 경우에는 next()를 호출하여 그다음 미들웨어 함수에 제어를 전달해야 한다. 만약 next()를 호출하지 않았을 경우 해당 요청이 정지된 채로 미들웨어에 머무르게 된다. 📌 미들웨어 함수 호출의 요소 다음 이미지는 미들웨어 함수 호출의 요소가 표시된 예제이다. app...
Node.js 교과서 책을 읽고 학습 내용을 정리한 포스팅입니다. 문제 시 삭제하겠습니다. 미들웨어? 미들웨어는 express의 핵심인데 요청과 응답 중간에 위치하여 미들웨어라 합니다. 이 미들웨어를 사용하여 요청과 응답을 조작하고 기능을 추가하기도 하며, 나쁜 요청을 걸러낼 수 있습니다. 미들웨어 사용법 미들웨어는 app.use와 함께 사용합니다. // 모든 요청에서 미들웨어 실행 app.use(미들웨어) // abc로 시작하는 요청에서 미들웨어 실행 app.use('/abc', 미들웨어) // abc로 시작하는 POST 요청에서 미들웨어 실행 app.post('/abc', 미들웨어) next 미들웨어는 위에서 부터 아래로 실행되는데 next를 실행하여 다음 미들웨어로 넘어갑니다. app.use((re..
- Auth 기능 만들기 회원 인증을 하기 위해 사용 쿠키에 저장 된 토큰을 서버에서 가져오고 복호화한다. 복호화 후 userId가 나오는데 이것을 이용하여 DB에서 유저를 찾은 후 쿠키에서 받아온 토큰이 유저를 가지고 있는지 확인 // auth 미들웨어 app.get('/api/users/auth', auth, (req, res) => {}) middleware 폴더안에 auth.js 파일 생성 const { User } = require('../models/User'); let auth = (req, res, next) => { // 인증 처리를 하는 곳 // 클라이언트 쿠키에서 토큰을 가져온다. let token = req.cookies.x_auth; // 토큰을 복호화 한 후 유저를 찾는다. Us..
노드를 사용한 포트폴리오를 만들려고 인프런에서 강의를 찾아보다가 무료로 학습이 가능한 컨텐츠가 있길래 한번 들어보자 하고 들어봤는데 괜찮은 것 같아서 끝까지 완강하였다. 첫번째 학습은 따라하느라 정신없어서 내용 이해가 잘 안됐지만 두번째 학습부턴 노트에 필기하며 최대한 이해하려고 노력했다. 이 곳에다 학습한 내용을 정리하려고 한다. 1 ) Node.js를 다운 받는다. - 터미널에서 npm init을 입력하고 package.json을 생성한다. 2 ) express.js를 다운 받는다. - npm i express --save 3 ) 몽고DB에 연결한다. - Mongoose는 간단하게 MongoDB를 편하게 쓸 수 있는 tool이다. const mongoose = require('mongoose'); m..
한우콩
'Programming/Node.js' 카테고리의 글 목록