app.use 와 get 차이점

  • app.use는 /about으로 했을 경우 /about과 /about/:id 모두 app.use를 탑니다. 반면 라우터인 app.get은 정확히 일치하는 것만 탑니다. 그래서 app.use를 했을 때 res.end가 두 번 호출되어 cannot set headers 에러가 발생한 겁니다. app.use는 라우터들의 공통 로직을 분리하는 용도로 사용하는 겁니다.

  • app.use()는 미들웨어 기능을 마운트하거나 지정된 경로에 마운트하는 데 사용

  • app.set()는 포트 설정 ? 등 설정에 관한얘기 인것같다.

nunjucks

 const nunjucks = require('nunjucks');
 app.set('view engine', 'njk'); // 확장자를 html 로도 사용이 가능함.
 nunjucks.conpigure('views', { // views폴더가 넌적스파일의 위치가 됨
  express: app,
  watch: true,
});
  • express 속성에 app 객체를 연결합니다.
  • watch 옵션은 true로 지정되면 HTML 파일이 변경될 때에 템플릿 엔진을 reload 하게 됩니다.

dirname

  • 파일명을 제외한 절대경로
    실행시 현재 파일명과 파일경로로 바뀐다 ?

node.js 폴더없으면 생성

  • 가장 간단한 방법
const fs = require('fs')
!fs.existsSync(dir) && fs.mkdirSync(dir);

node의 morgan

  • 로깅에 사용하는 모듈
    로깅은 무슨일이 어디에 일어났는지 기록하는것을 말함

body-parser

  • 데이터를 가져와 읽을수 있게 해주는 모듈 ?
  • 요청된 쿠키를 쉽게 추출할 수 있도록 도와주는 미들웨어

렌더링

  • 따라서 res.render('index', { title: 'Express' }) 는
    서버가 클라이언트에게 index.ejs를 렌더링하여 보내겠다는 의미이다

0개의 댓글

Powered by GraphCDN, the GraphQL CDN