Netlify에서 vue-router사용하는 방법

Posted by negabaro kim on Thursday, November 19, 2020 Tags: devops/netlify   1 minute read

Netlify에서는 리다이렉트 설정없이는 vue-router가 정상동작하지 않으므로 주의가 필요하다.

이 포스트에서는 vue-router를 사용하기 위한 Netlify Redirect설정에 대해 알아보자.

vue-router로 만든 루팅이 로컬에서 정상작동하더라도 Netlify에 디플로이하면 아래와 같이 Page Not Found(404)에러가 발생한다.

image

이 문제를 해결하기 위해서는 Netlify에 Redirect설정을 해줄 필요가 있다.

public디렉토리 이하에 _redirects 파일을 만들어주고 아래와 같이 설정해주자.

touch /public/_redirects

/*    /index.html   200

해당 코드를 commit & push해서 Netlify에 디플로이 해주자.

이 설정에 의해 어떤 URL도 public/index.html을 참조하게 되므로 SPA에서 설정한 router설정이 동작할 것이다.

아래와 같은 디렉토리 구조와 더해서 public/index.html에 <div id="app"/>가 있고 해당 돔에 SPA코드를 랜더링하는 방식을 전제로 하고 있다.

/public
├── _redirects
├── favicon.ico
└── index.html