노드js에서 웹사이트의 사이트맵 구조를 처리하는 방법에 대해서 질문이 있습니다.
사이트에서 페이지로 접근가능한 라우트 구조를 중첩된 객체-배열 구조로 만들어 두면, 네비게이션 메뉴와 breadcrumb가 동적으로 렌더링 되도록 하고싶은데요 (프론트 프레임워크는 아직 안쓰는중입니다.)
단순 객체 구조를 만들고 for문 좀 돌리면 될줄 알았는데 생각보다 복잡해서 막막합니다.
원하는 기능은…
- 전체 url을 모든 페이지 객체에 다 쓰지 않아도, 중첩구조를 가지고 url 알아서 만듦
- 각각의 페이지 객체가 자기가 어느 중첩깊이를 가지는지 알고있고, 자신의 직계 조상들과 직계 형제의 정보를 알고있음 (물론 객체 중첩구조를 가지고 알아서 판단)
- 클라이언트가 요청한 url에 따라 breadcrumb 동적 렌더
초기 데이터로 사용될 대략적인 객체구조와, 최종적으로 출력하고싶은 대략적인 html 렌더링 결과는 다음과 같습니다.
https://jsfiddle.net/baddobby/tzmge52o/78/
어찌어찌 엄청 별의별 코드를 더럽고 장황하게 쓰고 몇번이고 고친 끝에 저런 객체구조에서 글로벌네비게이션 메뉴바는 뽑았고…
breadcrumb에 쓸 자신의 직계 조상은 배열로 뽑았는데요.
이제 자신의 형제와 직계조상별 형제를 뽑는것까지 해야할 생각을 하니 막막하네요…
이런걸 간단히 해결할수 있는 패키지라던지, 참고할만한 자료같은것들 있을까요?