• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

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

답변 2

·

답변을 작성해보세요.

1

소스가 깃헙에 업데이트가  안되어 있어서 직접해보지는 못했지만 

부분에서  {}  이 괄호가 잘못쳐져있는것 같아요 

저부분 전체를


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!님의 프로필

Lob!

질문자

2020.07.11

아.. 감사합니다 인자로 findOne 메서드로 user를 받아온걸 다른 지역 스코프로 빼놔서 안된거였다니..  제 생각이 너무 짧았던 것 같습니다.. ㅠㅠ 정말 감사합니다!