에러 발생 상황
data.json파일을 직접 import하는 방법 대신 서버에 요청해서 받아오려고 코드를 수정했다. next.js에서 getStaticProps를 사용해서 데이터를 받아오기 위해 아래와 같이 코드를 작성했다.
export async function getStaticProps() {
const stores = await fetch(
${process.env.NEXT_PUBLIC_API_URL}/api/store
).then((res) => res);
return {
props: { stores },
revalidate: 60 * 60,
};
}
에러 원인
데이터를 받아서 json으로 바꿔주는 작업을 하지 않아서 데이터를 인식할 수 없었던 것이었다. 그래서 json으로 바꿔주는 메서드를 뒤에 추가했다.
.then((res) => res.json())
근데 여전히 문제가 해결되지 않았다. 에러 메세지는 반복해서 나왔다.
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
그러니까 데이터가 json 형태가 아니라는 건데 뭘 잘못 입력했는지 한참을 찾아 헤메었다. 그리고 나서 깨달았다. 환경 변수에 오타가 있었다는 것을.. 그걸 30분을 헤메고 찾았다. 허탈했지만 그래도 덕분에 getStaticProps의 동작을 좀 더 자세하게 알게 되었다.
결론
생각보다 더 많이 오타가 생겼고 그걸로 삽질을 여러번 했는데 너무 그냥 오타여서 트러블슈팅이라고 올릴 수 없었다.. 하지만 이번에는 데이터 타입을 json으로 바꿔주는 작업을 꼭 해야 했다는 중요한 교훈을 얻었기 때문에 블로그 글로 남기는게 좋을 것 같다는 생각을 하게 되었다. 이렇게 블로그 글을 간단하게 써도 되나 싶지만 일단 기록 해두는게 중요하니까..!
'2024 > 프로젝트' 카테고리의 다른 글
[food-app] React Query를 사용해 Infinite scroll 구현하기 (1) | 2024.10.20 |
---|---|
[My Little Rosemary] vanilla-extract 기본 세팅하기 (0) | 2024.07.28 |
[My Little Rosemary] Next.js에서 어떤 도구로 스타일링 해야 될까? (1) | 2024.07.17 |
[My Little Rosemary] 프로젝트의 시작은 역시 기획이지 (1) | 2024.06.11 |
[Wiki Page] typescript에서 만난 오류 디버깅 (0) | 2024.04.07 |