티스토리 뷰
템플릿 엔진
ejs
- html과 똑같지만 태그로 문서를 작성하는 것이 다름
- <% %>또는 <%= =%>를 이용해 서버가 전달해주는 값을 사용
pug
- html에서 코드를 간소화 ( 닫는 태그 X)
- 컴파일 후 html문서를 렌더링, 생산성이 뛰어나다.
- 들여쓰기가 가장 중요하다!
템플릿 엔진은 어떤 것을 사용해도 상관이 없다!
express에 관련된 함수들
const express = require('express')
require메서드를 통해 npm으로 install한 외부 모듈인 express을 가져온다!
ex) require('파일 경로')
module.exports = 메서드 이름
한 js파일에서 정의한 메서드를 다른 js파일에서 사용할 수 있도록 새로운 객체를 할당해 기능을 모듈화합니다.
미들웨어
자신이 수행 할 부분을 수행하고 다음 과정으로 진행을 넘기는 것을 의미
요청 오브젝트(req)
응답 오브젝트(res)
애플리케이션의 요청-응답 주기 중 그 다음의 미들웨어 함수 대한 엑세스 권한을 갖는 함수
그 다음의 미들웨어 함수는 next로 표현한다.
위의 코드를 보면 get은 미들웨어 함수가 적용되는 메서드
그 다음 경로를 지정하고 미들웨어 함수를 적어주는 것을 볼 수 있습니다.
미들웨어 종류
더 많은 종류가 있지만 기본적인 것만 적어보도록 하겠습니다.
- router
- 라우팅 역할을 하는 미들웨어
- URL 경로와 렌더링할 페이지를 작성
- static
- 지정한 폴더에 있는 내용들을 웹 서버 루트 폴더에 모두 올린다.
- bodyParser
- post요청 데이터를 추출
- req객체에 body 속성이 추가된다.
HTTP 통신 메서드
GET
resource(데이터)로 구분 혹은 조회하는 작업에 사용하는 메서드
요청 오브젝트(res)에서 사용합니다.
POST
resource(데이터)를 생성하는 작업에 사용하는 메서드
응답 오브젝트(req)에서 사용합니다.
post메서드 통신을 처리하기 위해서는 req.body라는 속성을 제공해야하지만 사용하려면
외부 패키지인 body-parser라는 미들웨어가 필요합니다.
간단하지만 복잡한 내용을 가지고 있어 다음에 좀 더 정리해보겠습니다...
메서드
res.render()
템플리트(ejs, pug 등)을 렌더링하기 위해서는
1. npm install ejs --save (npm패키지 설치)
2. app.set('view engine', 'ejs'); 설정 필요
위의 두 과정을 끝낸후 res.render('ejs파일', {title: '~'}); 같이 사용하여
홈페이지에 대한 요청을 실행할 때 사용할 수 있습니다.
view폴더에서 실행 js로 가져올 때 사용하게 될 것 같습니다.
res.redirect()
요청의 경로를 재지정합니다.
redirect('경로')를 적어주어 사용합니다.
모델.find(검색조건, 콜백함수)
모델에서 검색조건에 맞게 검색합니다.
검색조건에는 오브젝트 형태, {} 빈오브젝트면 모든 데이터 리턴합니다.
결과는 배열로 나타납니다.
findOne(검색조건, 콜백함수)
찾을 조건 오브젝트로 입력하고 데이터 찾은후에
콜백함수로 호출 find와 다르게 조건에 맞는 결과 하나를 object로 전달
'백엔드 > node.js공부' 카테고리의 다른 글
간단한 로그인&회원가입 기능 구현(4) (0) | 2021.01.16 |
---|---|
[nodejs] 간단한 게시판 만들기(1) (0) | 2021.01.13 |
[nodejs] 간단한 로그인 & 회원가입 기능 구현(3) (0) | 2021.01.12 |
[nodejs] 간단한 로그인 & 회원가입 기능 구현(2) (0) | 2021.01.12 |
[nodejs] 간단한 로그인, 회원가입 기능 구현 (1) (0) | 2021.01.12 |
- 카카오2018[1차]
- 프로그래머스
- Express
- JOIN
- 회원가입
- JavaScript
- left join
- 백준 7569 node
- 토마토3차원
- nodejs
- AWS
- 백준 7562 node
- slice
- 코드테스트
- Replace
- 백준
- 바이러스 dfs
- 로그인
- 정규표현식
- SQL
- Level 1
- tolowercase
- smtp error
- 코딩테스트
- GROUP BY
- Split
- sort
- 숫자야구게임
- 534 error
- nodemailer error
- Total
- Today
- Yesterday