세 번째 동영상 8분 40초 쯤 나오는 오류에 대한 내용입니다. 이고잉님이 겪은 오류와는 이유가 다를 것 같지만 혹시 저와 같은 현상을 겪는 분들이 있을 수 도 있다고 생각해서 댓글 남깁니다.
저는 정리정돈을 이고잉님과 조금 다른 방식으로 하고 있었어서 처음부터 passport는 맨 위쪽에 위치해 있었는데도 같은 오류가 나더군요. 생각해보니 passport.js나 auth.js는 session을 사용하는 부분을 포함하고 있었습니다. 그래서 app.use(session({...})); 부분을 먼저 실행해야 하지 않을까 해서 passport와 auth를 require 하는 부분을 저 session 설정 코드 아래로 옮겼더니 정상적으로 작동했습니다.
코딩에 대해 잘 몰라서 틀린 부분이 있을 수 있습니다. 잘못된 부분은 다른 고수분이 수정해주세요. :)
// 아래 설명을 드리겠습니다.
// 1file - app.js
var app = express();
// 즉, passport.js(모듈)에 module.export를 require('./config/passport')와 같다고 생각하면 require()()가 이해가 되실겁니다. (js기초부분이죠..), 그리고 app을 주입해서 passport.js에서도 사용하게 하려고 하는겁니다.
var passport = require('./config/passport')(app)
var app = require('./config/express')();
var passport = require('./config/passport')(app);
var auth = require('./routes/auth')(passport);
위에 있는 코드에서,
required에 소괄호 두개가 붙는 문법()()이 이해가 잘 안갑니다~ 이게 어떤 의미인지 설명부탁드려요~
일반적으로 함수 실행할 때 ()를 쓰는데 두 개가 되면 어떻게 되는건지 어렵네요~ @.@
함수정의하고 바로 실행하려고 소괄호 두개 쓰는 거랑 같은 문법인가요?
강의를 보며 따라해 보고 있는데요. 이번에 Bitnami를 새로 설치 했는데 app_passport_mysql.js파일을 실행하고 로그인 페이지에 접속하면 아래와 같은 오류메시지가 뜨는데 어디가 문제인 건가요?
Error: ER_NO_SUCH_TABLE: Table 'o2.sessions' doesn't exist