반응형
app.js을 통해서 Node 웹서버를 커스터마이징 한 미들웨어로 설정할 수 있어, 관련해서 필요한 기본적인 설정을 작성했습니다.
app.js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var session = require('express-session');
var flash = require('connect-flash');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
// app.use(function(req, res, next) {
// console.log(req.url, '저도 미들웨어입니다.');
// next();
// });
// 서버 로그
app.use(logger('dev'));
//app.use(logger('short'));
//app.use(logger('common'));
//app.use(logger('combined'));
// 정적 파일 라우터 기능
app.use(express.static(path.join(__dirname, 'public')));
// 파일 데이터 해석 기능
app.use(express.json());
// app.use(bodyParser.raw());
// app.use(bodyParser.text());
// 주소 형식
app.use(express.urlencoded({ extended: false }));
// 쿠키 해석
app.use(cookieParser());
// 세션 설정
app.use(cookieParser('secret code'));
app.use(session({
resave: false, // 세션 재저장 여부
saveUninitialized: false, // 세션 저장 여부
secret: 'secret code', // 필수, cookieParser의 비밀키
cookie: {
httpOnly: true, // 클라이언트에서 쿠키값 확인가능 여부
secure: false, // https 적용 여부
},
}));
// 일회성 메시지를 브라우저에 노출
app.use(flash());
// 라우터 설정
app.use('/', indexRouter);
app.use('/users', usersRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
반응형
'Javascript > NodeJS' 카테고리의 다른 글
[NodeJS] Window10 환경, bcrypt 설치 오류 해결 (0) | 2019.11.16 |
---|---|
[NodeJs][MySQL] Sequelize를 통해 설치 후 배포 환경에 따른 데이터베이스 설정 (0) | 2019.11.16 |
[NodeJs] Unhandled rejection SequelizeConnectionError 오류 해결 (0) | 2019.11.16 |
[NodeJs] 기본 개념 (0) | 2019.11.16 |