Express 4

<Node.js> express.urlencoded가 필요한 이유

🎯 { express.urlencoded } 언제 사용하나요? express 서버로 POST 요청을 할 때 input 태그의 value를 전달하기 위해 사용합니다. 무엇인가요? 요청의 본문에 있는 데이터를 해석해서 req.body 객체로 만들어주는 미들웨어입니다. 왜 사용하나요? 요청의 본문에 있는 데이터가 URL-encoded 형식의 문자열로 넘어오기 때문에 객체로의 변환이 필요합니다. cf) JSON 문자열로 넘어오는 경우 express.json() 미들웨어를 사용합니다. 어떻게 사용하나요? 예전에는 body-parser 패키지를 별도로 설치해야 했지만 express v4.16.0 부터 내장 라이브러리가 되었습니다. 1. POST 요청으로 input 태그의 값을 전달합니다(서버에서 name 속성으로 ..

<Book> 한 권으로 끝내는 Node & Express

🏅 개요 - 저자: 이선 브라운 - 역자: 한선용 - 출판사: 한빛미디어 - 가격: 25,200원 (예스24 기준) - 목차: 익스프레스 소개, 노드 시작하기, 요청과 응답 객체, 핸들바를 이용한 템플릿, 미들웨어 등등 - 난이도: ★★☆☆☆ - 추천대상: Node와 Express를 활용한 웹 개발에 입문하고자 하시는 분 요약 1. 노드, 익스프레스 뿐만 아니라 웹개발 전반을 다루고 있습니다. 2. 디버깅, 유지보수 파트까지 있습니다. 총평 노드와 익스프레스에 대한 이해를 높이기 위해 구입하였습니다. 설명이 잘 풀어져 있어서 이해하기 좋았습니다. 중반부부터 익스프레스에서 점점 멀어지는 것 같더니 웹개발 전반을 다루고 있다는것을 알게 되었습니다. 오히려 좋았습니다. 저와 같은 입문자 분들은 깊이 보다 넓이..

<Node.js> TypeError: expressHandlebars is not a function

⚔️ 노드의 뷰 엔진으로 handlebars를 적용하다가 아래와 같은 에러가 발생하였습니다. TypeError: expressHandlebars is not a function const expressHandlebars = require("express-handlebars"); app.engine( "handlebars", expressHandlebars({ defaultLayout: "main", }) ); 아래 둘 중 하나로 고치면 해결됩니다. const expressHandlebars = require("express-handlebars"); app.engine( "handlebars", expressHandlebars.engine({ defaultLayout: "main"..

<Node.js> Express (Routes, Controllers, URL parameter)

📌 import "[풀스택] 유튜브 클론코딩 (nomadcoders.co)"; Router 무엇인가? URL을 모듈화하여 정리하는 방법 어떻게 사용하는가? 1-1. 라우터 생성 - const [변수명]videoRouter = express.Router(); 1-2. 라우터 export - export default [변수명]videoRouter; (한 파일에서 한번만 가능) import express from "express"; import {watch, edit} from "../controllers/videoController.js"; const videoRouter = express.Router(); videoRouter.get("/:id(\\d+)", watch); videoRouter.get("..