-
vue multipage 개발 시 사용자 분기처리, vue url 설정성장과정(dev)/Frontend(feat. Vue, Next.js) 2021. 2. 17. 10:26
vue-router 기본은 해시모드이다. 그래서 url에 꼭 #이 끼게 된다.
※ 이슈 ※
문제는 사용자, 관리자 페이지를 나누면서 사용자는 "/", 관리자는 "/console" 로 나뉘게 되는데
http://localhost:8081/console 을 치면 http://localhost:8081/console# 로 접속되면서 해시값 # 뒤부터 경로로 읽어들여 실제 접속페이지는 "/" 이쪽으로 들어가게 된다.
내가 원하는 것은 http://localhost:8081/console 을 쳤을 때 관리자 화면에 접속이 되는 것이다.
이걸 검색을 뭐라고 해야할까 싶어 찾다가 우선 시간이 좀 있어서 포기했었는데
다른 이슈에 대해 검색을 하다가 찾게 되었다.
※ 해결방법 ※
VUE router의 default인 hash mode를 history mode로 변경
new Router의 옵션 중 mode를 history로 변경하면 된다. 적용하고 나니 url에 해시 표시 없이 사용자, 관리자 context path에 따라 잘 나타나고 접속하고 싶은 페이지로 잘 접속된다.
소스코드 (src/router.js)
export default new Router({ mode: "history", routes: [ ... ] });
* 참조
HTML5 히스토리 모드 | Vue Router
HTML5 히스토리 모드 vue-router의 기본 모드는 hash mode 입니다. URL 해시를 사용하여 전체 URL을 시뮬레이트하므로 URL이 변경될 때 페이지가 다시 로드 되지 않습니다. 해시를 제거하기 위해 라우터의
router.vuejs.org
'성장과정(dev) > Frontend(feat. Vue, Next.js)' 카테고리의 다른 글
[html2pdf] pdf 출력 시 쏠림현상, 한쪽 라인이 흐릿한 현상 해결하기 (3) 2021.02.26 [html to pdf] vue에서 html을 pdf로 다운로드 하기 (심플버전), pdf image not showing 문제해결 (4) 2021.02.23 b-table list 화면에서 상세화면 넘어가기 (parameter 넘기기) (0) 2021.02.16 vue에서 image load 정상여부 체크하기 (0) 2021.02.10 [vue 배포] vue cli build하여 lightsail에 nginx 연동해서 운영에 배포하기 (0) 2021.02.05