코드를 두 번 실행해야하는 데 문제가 있습니다. 표준 익스프레스 앱을 사용하여 Mongoose Schemas를 만들고 각 파일은 자체 파일로 내보내고 내보낼 수 있습니다. 노드가 몽구스 스키마에 코드를 두 번 실행합니다.
//user.js
const User = mongoose.model('User', userSchema)
module.exports = User
//In other files
const User = require('../models/User')
지금 내 응용 프로그램에서 두 곳에서이 사용하고 지금 모델을 만드는 유일한 코드로
Cannot overwrite `User` model once compiled.
그래서 위의 코드는 두 번 호출지고 없다는 오류가 발생합니다. 그러나 노드에서 내 코드에서 필요하기 때문에 한 번만 실행하면됩니다.
정말 이상한 부분은 Git의 이전 버전을 체크 아웃하는 것과 동일한 오류가 발생하고 이에 대해 저와 함께 일하는 사람들이 같은 오류가 발생한다는 것입니다. 그래서 솔루션을 찾을 곳이 더 이상 없습니다.
user.js'console.log (module.parent)'의 시작 부분에 글을 쓰십시오. 이렇게하면 누가 전화했는지 알 수 있습니다. –
이것은 일어나지 않아야합니다. 이미'require()'된 파일은 다시 실행되지 않습니다. – robertklep
@robertklep 그래, 그게 바로 지금 내가 너무 깊이 혼란스러워하는 이유입니다. –