2025년 4월 11일 금요일
수면 : 2시 ~ 11시
-
개발
i18n이 컴포넌트별로 로딩에 문제가 생긴다. compositionAPI 때문에 반응형을 import.meta.client에서 사용하는것도 문제가 생긴다.
결국 컴포넌트 처리는 버리고 다시 pinia로 간다. 오늘내로 무조건 해결한다.
새벽 3시가 되어서야 모든 파악을 완료했다.
일단 새로고침을 해야 i18n이 먹히던 문제는 내가 배열 변수를 반응형으로 만들지 않아서 그랬던 것이다. 왜 이 간단한 것을 오랫동안 파악하지 못하고 있었는지 모르겠다. i18n문제가 아니라 내가 잘못 코딩했던 것이다.
ssr불일치 문제 - 이것도 i18n문제가 아니었다. middleware의 문제였다. nuxt2에서는 기본적으로 클라가 서버가 가져온 dom을 덮어써서 경고가 나오지 않았지만 지금은 이것에 엄격해져서 발생한 문제였다. middleware의 자격을 통과하기 못해 강제로 redirect하여 메인페이지로 이동했는데 서버는 통과하지 못했다는 사실을 모르고 처음 가지고 있던 dom을 받아서 그런거다. 해결방법은 아주 복잡하게 처리할수도 있지만 대부분은 onMounted()를 이용해 특정 자격을 처리하면 된다. 왜냐하면 서버에서는 onMounted()가 비동기라 처리하지 않기 때문에 onMounted()에서 클라를 처리해버리면 서버에서는 알아차리지 못하고 그대로 일치되기 때문이다. SSR에 대한 내 지식이 부족해 생긴 문제였다. 모든걸 독학으로 만들다보니 기본이 부족했던거 같다.
그래서 udemy강좌라도 몇개 공부해볼까 생각중이다.