환경 : Centos7 , Tomcat
1. 로컬에선 잘만되던게 빌드 후 서버에 업로드 하니 아래와 같은 콘솔 에러메시지와 흰화면이 떴다
uncaught syntaxerror: unexpected token '<'
뭐 여러증상에 의해서 이게 뜨는데 참 다양한경우라 다 정리할순없고 ..
나의 경우엔 index.js 에 들어간 Router 에 basename 때문에 발생했었다.
링크가 안맞아서 다른 js나 css 를 제대로 불러오지 못하여서 이 에러가 떳던것이다.
정상적으로 빌드되서 서버에 올라갔다면 아래 F12 페이지 소스 보기에 나와있는것처럼 그냥 js 찝어서 열었을때 정상적으로 파일이 열려야한다
결론은 뭐가 문제였냐
톰캣 root 디렉토리에서 각 폴더별로 다른 프로젝트의 리액트를 구동시키려고하는데 404 에러방지 때문에 작성했던
rewrite.config 를 잘못 작성해서 발생했던 오류였다.
ReWriteCond 를 하나만쓰고 Rule 를 두개 적용하려고하니깐 에러가 났던것이다 -_- ;; 허무해
아래처럼 해주자
#rewrite.config
RewriteCond %{REQUEST_PATH} !-f
RewriteRule ^/front/(.*) /front/index.html
RewriteCond %{REQUEST_PATH} !-f
RewriteRule ^/admin/(.*) /admin/index.html
2. 로컬에서의 쿠키, 서버상에서의 쿠키
이건 아직 해결을 못하였다 정확한 분석도 못하였고 도무지 모르겠다.
메인페이지가 있고 서브페이지가 있는데 , 정상적으로 로그인을 진행했다면 쿠키가 잘 쌓여있다.
확인은 F12 - Application - Cookies 에서 가능
access_token 이 존재하면 login 페이지가 아니라 다른 Component 를 보여주는걸로 짜여져있고 이상없이 잘되는데
문제는 메인페이지가 아닌 기타 서브페이지에서 해당 리액트 페이지에서 새로고침을 진행하면 access_token 이 하나 더 생긴다.
비단 access_token 뿐이 아니라 현재 갖고있는 쿠키들이 전부 새로고침했었던 그 페이지의 Path 로 변경되서 쿠키들이 하나씩 더 생기고 다 그리고 빈값으로 들어가있다..
미치고 팔짝 노릇이지 이러면서 access_token 이 두개가되고, 없는걸로 인식해서 로그인창으로 계속 Redirect 를 해준다
ㅋㅋㅋㅋㅋㅋㅋ
나름 분석하고 왜 그런가하면서 여기저기 찾아봤는데 나오는것도 없고 ...
일단 빌드하고 서버에서는 어떻게 나오나보자 싶어서 올렸는데 서버에선 웬걸.. 잘만된다
path / 만으로 아무리 새로고침을 해도 path 다르게 다른 쿠키 안쌓인다
이건 뭔가 분명히 이유가 있을텐데 추후에 알아내는대로 추가하려고한다.
리액트 사람 미치게한다 ..
혹시 짐작가는거라도 있으신분 댓글 무조건 환영합니다..
'IT > React.js' 카테고리의 다른 글
[Next.js] middleware.ts 추가시 에러났을때 해결 방법 (0) | 2023.06.01 |
---|---|
[React] React does not recognize the `computedMatch` prop on a DOM element (0) | 2022.04.12 |
[React] local 과 build 시 스타일 다르게 보이는 부분 (0) | 2021.11.29 |
[React] useState, useEffect / useEffect 호출하기 (0) | 2021.10.13 |
[React] concat, map, filter 기초 예제 (0) | 2021.09.30 |