- Published on
노드에서 세션 및 에러 핸들링시 주의할점
- Authors
- Name
- 불꽃남자
몇 시간을 삽질햇다. --;;
분명 API 문서를 보면서 가이드 따라 잘 했는데..
도대체 왜 세션이 안되는거야~!! 라고 버럭질햇는데..
API 문서를 꼼꼼히 보지 않으면,.. 다들 고생할듯싶다.
자바스크립트가 스크립팅 언어라는 사실을 다시금 일깨워준다. 무엇을 먼저 실행하느냐에 따라,.. 결과가 달라진다. 명심하자!
1) 제대로 된 설정
/
- Express 서버 설정 */ app.configure(function() { app.use(express.cookieParser()); app.use(express.session({store: sessionStore, secret: 'secret', key: 'express.sid'})); app.use(express.errorHandler({dumpExceptions : false, showStack : true})); app.use(app.router); // 반드시 라우터 설정 이전에 에러와 세션이 설정되어야한다. app.register('.html', require('ejs')); app.set('views', __dirname + '/views'); app.set('view engine', 'html'); });
2) 잘못 된 설정: 뭔가.. register, set, use 처럼 보기 좋으라고 각 설정을 묶어놨는데.. 잘 못된 설정이다.
/
- Express 서버 설정 */ app.configure(function() { app.register('.html', require('ejs'));
app.set('views', __dirname + '/views'); app.set('view engine', 'html');
app.use(express.cookieParser()); app.use(express.session({store: sessionStore, secret: 'secret', key: 'express.sid'})); app.use(app.router); app.use(express.errorHandler({dumpExceptions : false, showStack : true})); });