Skip to content

Code Quality > 좋은 코드를 위한 4가지 기준 페이지 내부의 링크 깨짐 #495

@nninnnin

Description

@nninnnin

안녕하세요. 즐거운 추석 연휴 보내고 계신가요?

https://frontend-fundamentals.com/code-quality/code/

해당 페이지의 링크가 깨져있어 한번 리포트 올려봅니다.

문제상황

컨텐츠 링크를 클릭하면 앞쪽 /code 가 잘린채로 라우팅을 하고 있는 상황입니다.

예를 들어 '같이 실행되지 않는 코드 분리하기' 앵커태그 의 href는 ./examples/submit-button.html 로 설정이 되어있는데,
해당 링크를 확인하고 있는 페이지의 패스는 https://frontend-fundamentals.com/code-quality/code/ 이므로
앵커를 클릭하면 https://frontend-fundamentals.com/code-quality/code/examples/submit-button.html 로 변경을 기대하지만
https://frontend-fundamentals.com/code-quality/examples/submit-button.html 로 이동됩니다.

원인

현재 fundamentals/code-quality/.vitepress/config.mts 의 base 속성이 /code-quality/ 로 설정이 되어있는데요, 아마도 번들링 시에 rewrites를 통해 접근하는 에셋 경로를 prefix 해주기 위함으로 보입니다. 그런데 문제는 이 설정이 서버사이드 렌더링되는 index.html 템플릿에 <base href="/code-quality" /> 를 자동으로 추가시켜서, 지금과 같이 상대경로 링크를 클릭했을 때 베이스를 /code-quality/code/ 가 아닌 /code-quality/ 로 강제로 변경하여 라우팅하고 있습니다.

제안

절대경로로 바꾸거나, 설정파일의 markdown - config 에 훅을 작성해서 상대경로를 절대경로로 변환시키는 로직을 작성하는 것을 제안드립니다. 다만 로컬에서 시험해보니 deadlink 에러가 발생하더라고요. 찾아보니 절대경로로 바뀌면 dist 폴더에서 파일 검색을 실패하기 때문인 것 같습니다. ignoreDeadLink 옵션이 있다고 하는데, 제가 직접 PR을 올리려니 너무 설정범위를 건드리는 듯 하여 메인테이너 분들의 판단에 맡기는게 좋겠다는 생각이 들었어요.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions