Express-generator

kangdari·2020년 2월 16일
0

Express

Node.js web application framework


Express-generator

express 프레임 워크에 필요한 package.json을 만들어주고 기본 폴더 구조 까지 잡아주는 패키지

npm install -g express-generator 명령어로 전역 설치

express [프로젝트 명] 명령어로 익스프레스 프로젝트 생성

express [프로젝트 명] --view=pug Pug(Jade) 템플릿 엔진으로 설치


미들웨어

  • morgan
    함수의 인자로 dev, short, common, combined 등.. 줄 수 있다. 인자에 따라 콘솔에 나오는 로그가 다르다
const logger = require('morgan');
...
app.use('logger('dev'));
  • body-parser
    요청의 본문을 해석해주는 미들웨어. 폼 데이터나 AJAX 요청의 데이터를 처리한다.
    일부 기능이 Express에 내장됨.(4.16.0 버전 이후)
    옵션 값이 false 면 querystring 모듈을 사용 / ture 면 qs 모듈 사용하여 쿼리스트링을 해석한다.
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
  • cooke-parser
    요청에 동봉된 쿠키를 해석한다.

  • static
    정적인 파일들을 제공한다. 서버의 폴더 경로와 요청 경로가 달라 외부인이 서버의 구조를 쉽게 파악이 불가능하다. 정작 파일 라우터 기능 수행을 위해 위쪽에 배치하는 것이 좋음.
    ( morgan 다음에 배치 )

app.use(express.static(path.join(__dirname, 'public')));
  • express-session
    세션 관리용 미들웨어.
    resave: 요청이 왔을 때 세션에 수정사항이 생기지 않더라도 세션을 다시 저장할지에 대한 설정
    saveUninitialized: 세션에 저장할 내역이 없더라도 세션을 다시 저장할지에 대한 설정
    secret: 필수 항목. 비밀 키 역할 cookieParser의 secret 값과 같게 설정해야 한다.
    cookie: 세션 쿠키에 대한 설정
app.use(cookieParser('secret code'));
app.use(session({
  resave: false,
  saveUninitialized: false,
  secret: 'secret code',
  cookie: {
    httpOnly: true,
    secure: false,
  }
}))
  • connect-flash
    일회성 메시지들을 웹 브라우저에 나타낼 때 사용. ex) 로그인 에러, 회원가입 에러

0개의 댓글