sveltekit routing [] randering error

임종필·2022년 11월 15일
0

2022년 8월 부터 sveltekit routing 방식이 파일 방식에서 폴더 방식으로 변경되었다.

좋은 일이라 생각된다. 이렇게 바뀐이유는 엔드포인트가 js 파일과 svelte 파일이 혼용되어
클라이언트와 서버가 구분되지 않고 섞여서 사용되다보니.

보안상의 문제도 있고, 폴더내 파일이 지저분해지는 경향이 있어 구분이 명확하지 못하게 되는 등의 문제가 있어왔다.

https://dev.to/composite/sveltekit-rauting-guseong-si-juyihal-jeom-2cjl
해당문제를 지적해주신 Ukjin Yang 님 포스트 참고.

그래서 폴더 방식으로 변경되었다.

그래서 폴더가 API 주소가 되고 +page.svelte 가 들어가면 해당 페이지를 불러와 준다.
편해진 것은 페이지에 들어가는 페이지 전용 컴포넌트를 가독성을 위해 분리하는 방식을 사용해왔는데, 이것을 더 먼 lib 까지 보내서 다시 끌고 오느라고 파일의 위치가 멀어서 발생하는 스크롤의 노동과 멀어서 발생하는 좀전에 어디였지하는 코드 치매 내가 코드 위치까지 외워야야하는 기억렵 부담으로부터 벗어날수 있게 되었다.
걍 페이지 컴포넌트는 같은 폴더에 넣어두면 된다.

서론이 길었다. 원래 이 이야기 할려고 하는게 아니었는데,

암튼,
뭔가 많이 바뀌어서 폴더에 /reveiw/[] 넣어서 parameter 로 활용하는 기능도 변경되었다. 살펴보니
관련 내용은 없어서 사용하는데,
static adapter 로 빌드를 하면 자꾸
export const prerender = true;
를 넣어주라는 에러가 떠서 9page.ts 또는 +page.ts 를 넣어 줘도
계속 에러가 나서

한참 해메이다가

알아낸게,
랜더링을 하려면 어디선가 이놈을 호출해줘야하는 페이지가 있어야한다는 내용이 생각나서

이 테그를 아무곳에 넣어주니
에러가 사라졌다.

랜더링은 필요한 곳만하게 되는데,
이로서 알게된 사실
a 테그 타고 들어가는 곳을 하는 것 같다.
버튼에 goto() 로 된것도 자동으로 타고 들어가는 것 같은데,
이번에 작성한 것은 배열안에 객체안에 함수 안에 다 꼭꼭 숨겨서 넣어놨더니
찾지 못해서 발생한 에러였던 것 같다.

그냥 goto() 로 잡으면 알아서 잘 잡히는데, 랩핑을 두세번해주면 못찾는것 같다.

profile
개발은 쉽고 간단하게

0개의 댓글