강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của anyin932676
anyin932676

câu hỏi đã được viết

Hiểu JavaScript phụ trợ thông qua phát triển web Node.js

hoàn thành cuộc gọi lại chiến lược địa phương

TypeError: req.flash is not a function

Viết

·

1.1K

2

이 에러가 계속떠서 에러위치 찾아보니깐 req.flash사용한 부분에서 에러가 나는데

필요한 모듈설치와 미들웨어 설정도 했는데 왜이런가요?

nodejsjavascriptexpress

Câu trả lời 5

2

저도 같은 에러 발생했습니다. 오타는 아니였고, 강사님 말씀대로 stackoverflow 답변 참고했습니다.

var flash = require('connect-flash'); 

위 코드 아래

app.use(flash()) 사용하니까 문제 해결됐습니다.

2

crong4843님의 프로필 이미지
crong4843
Người chia sẻ kiến thức

어떤 상황인지 정확히는 모르지만, 여기 답변을 참고해보세요. (두번째 답변을 먼저 확인하시면 좋을거 같네요)

 

https://stackoverflow.com/questions/34310348/passport-and-connect-flash-req-flash-is-not-a-function

 

1

app.use(router); 구문을 다른 app.use() 구문들의 최하단으로 옮겨보세요

이게 왜 되는 지 모르겠습니다. 저의 경우에도 이런 식으로 해결했어요.

스택오버플로우에서는 app.use(flash) 를 좀 더 위로 옮겨라고 하는 데, 자꾸 안되어 답답했어요. 

덕분에 계속하게 될 수 있게 됐습니다. 감사합니다.

0

/* ejs template engine set, ejs 말고도 pug, jade 등이 있다. */
app.set('view engine', 'ejs')
/* middleware strategy 설정 */
app.use(session({
	secret: 'keyboard cat',
	resave: false,
	saveUninitialized: true
}))
app.use(passport.initialize())
app.use(passport.session())
/* main router 설정 : 다른 파일로 옮겨서 라우팅하려면 이런식으로 해야함 */
app.use(router)

다음과 같이 app.use(router)를 맨 밑으로 설정하면 됩니다.

강의제목: passport기반 세션처리 으로 미리 가보시면, 6분 59초에 crong 님의 app.js 에서 코드가 이런식으로 되어있습니다.

0

app.js 아니면 index.js에 오타가 나서 에러가 뜨는 겁니다.

Hình ảnh hồ sơ của anyin932676
anyin932676

câu hỏi đã được viết

Đặt câu hỏi