프리온보딩 사전 과제를 하면서 개발할 때는 잘 되니까 의식하지 못했었는데, 배포후 주소창에 '/todo' 를 입력했을 때 제대로 작동을 하지 않는다는걸 다른 동기분에게 피드백을 받으면서 알게 되었다. 이유가 무엇일까?
1. 검색해본 결과 spa이기 때문에 index.html에 대한 자원만 존재하고 다른 주소를 입력시엔 그 주소에 대한 자원이 없기 때문이라고 한다.
2. 그렇다면 프로젝트를 진행할 때 배포했을 때는 잘 됐었는데 왜 netlify나 github page에서 할 때는 왜 안됐던 걸까?
-S3를 배포할 때를 생각해본다면 오류가 났을 시 지정했던 문서를 index.html로 설정했었는데, 그 당시에는 그냥 따라하기만하고 "왜"라고 생각을 안해봤던 게 패착이었다. spa의 특성을 생각하지 않다니..
3. 그렇다면 netlify등을 사용할 때는 어떻게 해야하는걸까?
-public 폴더에 _redirects 파일을 만들고(확장자x)
/* /index.html 200
이렇게 작성하고 build를 하면 된다!
'Today I learned! > 오늘 하루 배운 것, 기억할 것' 카테고리의 다른 글
[React]컴포넌트 재사용성 높이기!(컴포넌트에 각각 다른 attribute 설정하기) (0) | 2023.01.27 |
---|---|
typescript+react+webpack+babel 설정 때 본 오류^^.... (1) | 2023.01.21 |
221120 (0) | 2022.11.20 |
221119 (1) | 2022.11.19 |
220918 (0) | 2022.09.18 |