-
카테고리
-
세부 분야
풀스택
-
해결 여부
해결됨
12강 에러 질문드립니다..
20.07.08 19:26 작성 조회수 216
4
register 부분까지는 정상적으로 진행했고, login 부분으로 넘어왔는데
ReferenceError : user is not defined
at c:...생략...\boiler-plate\index.js:51:5...
이런 오류가 뜹니다.. 강의자님의 github나 다른 질문들을 훑어봤지만 강의 내용과 코드의 다른점을 찾지 못했습니다.. 도와주세요..!
https://github.com/coffeescriptSERRL/study-boiler-plate-ko/blob/master/index.js
답변을 작성해보세요.
1
John Ahn
지식공유자2020.07.09
소스가 깃헙에 업데이트가 안되어 있어서 직접해보지는 못했지만
이
부분에서 {} 이 괄호가 잘못쳐져있는것 같아요
저부분 전체를
app.post('/login', (req, res) => {
// console.log('ping')
//요청된 이메일을 데이터베이스에서 있는지 찾는다.
User.findOne({ email: req.body.email }, (err, user) => {
// console.log('user', user)
if (!user) {
return res.json({
loginSuccess: false,
message: "제공된 이메일에 해당하는 유저가 없습니다."
})
}
//요청된 이메일이 데이터 베이스에 있다면 비밀번호가 맞는 비밀번호 인지 확인.
user.comparePassword(req.body.password, (err, isMatch) => {
// console.log('err',err)
// console.log('isMatch',isMatch)
if (!isMatch)
return res.json({ loginSuccess: false, message: "비밀번호가 틀렸습니다." })
//비밀번호 까지 맞다면 토큰을 생성하기.
user.generateToken((err, user) => {
if (err) return res.status(400).send(err);
// 토큰을 저장한다. 어디에 ? 쿠키 , 로컳스토리지
res.cookie("x_auth", user.token)
.status(200)
.json({ loginSuccess: true, userId: user._id })
})
})
})
})
이걸로 바꿔서 해보시겠나요 ~ ?
0
Lob!
질문자2020.07.11
아.. 감사합니다 인자로 findOne 메서드로 user를 받아온걸 다른 지역 스코프로 빼놔서 안된거였다니.. 제 생각이 너무 짧았던 것 같습니다.. ㅠㅠ 정말 감사합니다!
답변 2