NodeJS
-
Express 템플릿 변수NodeJS 2019. 7. 4. 21:14
서버에서 템플릿으로 변수를 보내는 두가지 방법이 있다 1. 템플릿 전역 변수: 모든 템플릿에게 같은 변수를 준다 2. 템플릿 로컬 변수 : 템플릿 마다 다르게 변수를 준다 - 템플릿 전역 변수 const localMiddleware = (req,res,next)=>{ res.locals.title = "타이틀"; next(); } app.use(localMiddleware); res.locals를 이용하면 title 이라는 변수를 모든 템플릿에서 읽을 수 있다 - 템플릿 로컬 변수 const handleHome = (req,res)=>{ res.render("home", { title : "타이틀" }); } res.render 메소드에 랜더링할 파일 다음으로 객체를 인자로 넣어주면 해당 템플릿에만 객체..
-
PUG 기능NodeJS 2019. 7. 4. 20:48
PUG 특징 및 기능을 간단히 설명한다 - 들여쓰기 문법 doctype html html head title PUG World body main PUG Main 들여쓰기 문법이라 가독성이 좋고 코딩 시간을 줄여준다 - block & extends 레이아웃 틀을 만들어 다른 pug 파일에 합칠 수 있다 frame.pug doctype html html head title PUG World body main block content main.pug extends frame block contents h1 이 곳의 내용이 layout.pug 의 content 부분에 들어가게된다 html 틀 같은 중복되는 코드를 줄여준다 - include 컴포넌트 식으로 나누어 코드를 작성 할 수 있다 frame.pug doc..
-
Express X PUGNodeJS 2019. 7. 4. 20:26
템플릿 엔진(Template Engine) ? : 서버의 데이터를 클라이언트에 효과적으로 보여주는 중간 매개체 코드가 간결해지고, 재사용성이 높아지며, 유지보수가 용이해진다 PUG? : NodeJS의 템플릿 엔진으로 들여쓰기를 하는 것이 특징이다 ( 많은 사람들이 사용한다고 한다 ) Express with PUG - 설치 npm install pug - 설정 아래의 express 문서에서 app.set() 파트를 보면 설정 할 수 있는 값들이 설명되어 있다 http://expressjs.com/ko/api.html#app.set Express 4.x - API 참조 Express 4.x API express() Creates an Express application. The express() functi..
-
Express RouterNodeJS 2019. 7. 4. 13:02
Router? : 라우팅 코드를 따로 파일로 정리 할 수 있게 도와주는 express 내장 모듈 router.js import express from "express"; export const userRouter = express.Router(); userRouter.get("/", (req, res) => res.send("user index")); userRouter.get("/edit", (req, res) => res.send("user edit")); userRouter.get("/password", (req, res) => res.send("user password")); 위 코드 처럼 express.Router() 모듈을 이용하여 따로 라우팅 코드를 따로 둘 수 있다 app.js import..
-
Express 미들웨어NodeJS 2019. 7. 4. 12:12
Middleware? : 라우팅 하는 작업에서 요청을 받고 응답 메서드를 실행하기 전에 처리하는 메서드를 말한다 예제를 살펴보자 import express from "express"; const app = express(); const PORT = 3000; const handleHome = (req,res)=>{ res.send("Hello Wolrd"); } app.get("/", handleHome); app.listen(PORT); 위의 코드에서 handleHome은 응답메서드 이다 http://localhost:3000 으로 GET요청을 받았을 때 이 응답 메서드가 실행되는데 GET요청을 받고 응답메서드(handleHome)이 실행되기 전 미들웨어를 넣어 실행하게 하려면 아래처럼 작성하면 된다 ..
-
Express 라우팅NodeJS 2019. 7. 4. 11:45
Routing? : 서버에서 클라이언트로 요청한 데이터를 전달할 수 있도록 길을 만들어 주는 것을 말한다 ( 라우트 메소드는 HTTP 메소드로 파생되는데, 나중에 따로 정리해야겠다) 지금은 일단 메소드는 GET만 사용한다 import express from "express"; const app = express(); const PORT = 3000; const handleHome = (req,res)=>{ res.send("Hello world"); } app.get("/", handleHome); app.listen(PORT); 위 코드 중 아래의 코드가 라우팅을 해준다 app.get("/", handleHome); 클라이언트에서 http://localhost:3000 으로 접속시 서버가 handleH..
-
NodeJS?NodeJS 2019. 6. 30. 06:29
NodeJS 란? : 브라우저 밖의 자바스크립트 브라우저에 종속되어 있던 자바스크립트를 유저의 컴퓨터로 꺼내어 브라우저와 별도로 사용할 수 있게 해주는 것이 NodeJS이다 이로 인해 컴퓨터의 파일 시스템을 제어하거나 서버를 만들 수 있게 되었다 장점 - 데이터 처리가 빠르다. CRUD (Creact Read Update Delete) - 실시간 처리에 적합하다 ex) 채팅 - 프론트엔드와 같은 언어를 사용한다 (Javascript) - 간단한 프로젝트를 하기에 좋다 단점 - 하드웨어 성능을 이용한 하드코어한 처리가 힘들다 - 메모리, 램 등 하드웨어에 접근할 수 없다 - 이미지 압축, 비디오 인코딩/디코딩 등의 작업에 적합하지 않다