code-server 사용시 react-router-dom 오류
1192
작성한 질문수 6
안녕하세요
개발환경으로 code-server을 사용하고 있는데, 문제를 도대체 알 수 없어서 질문 올립니다 ㅜㅜㅜㅜㅜㅜ
code-server은 실행시 도메인/proxy/port로 실행 주소가 설정됩니다.
그래서 hot-reload 웹소켓 연결을 설정하기위해서 webpack.config.ts에
client: {
webSocketURL: 'ws://0.0.0.0:443/proxy/3090/ws',
},를 추가했습니다.
index.html에서 src = "./dist/app.js"로 했습니다
다른 모든 코드는 setting/ts를 그대로 npm i 했습니다.
(여기까지 사전 참고내용)
이전 강의에서 App.tsx에 <div>코드어쩌구저쩌구</div>는 잘 나타났습니다.
이번 강의에서 react-router-dom을 도입해서 code-server에서 실행을 하게되면 브라우저에 아무런 화면이 나오지 않습니다.
그러나, code-server가 아닌 구름ide에서 같은 파일을 실행할 경우(서버 주소가 proxy가 아니게됨)
정상적으로 동작합니다.
react-router-dom을 사용했더니 화면이 안보이기때문에 react-router-dom 과 관련된 문제라고 추측합니다.
code-server에서 실행주소뒤에 'proxy/3090'이 붙었을때 문제가 생겼기 때문에 code-server 관련 문제로 추측됩니다.
code-server사용시 가져온 파일이랑 구름ide사용시 가져온 파일 비교해보면, code-server에서 파일2개를 못 가져온것 같은데, 이게 문제인거 같기도 합니다.
또한, App.tsx에서 react-router을 빼고 다음과 같이 입력후 실행해보았습니다.
import React from 'react';
import loadable from '@loadable/component';
import { Switch, Route, Redirect } from 'react-router-dom';
import SignUp from '@pages/SignUp';
const App = () => {
return <SignUp />;
};
export default App;
가져온 파일 목록은 다음과 같고, 정상적으로 signup화면이 나타납니다.
이번에는 loadable/component가 문제인가 싶어서, 이걸빼고 다음과 같이 App.tsx를 입력했습니다.
import React from 'react';
import loadable from '@loadable/component';
import { Switch, Route, Redirect } from 'react-router-dom';
import LogIn from '@pages/LogIn';
import SignUp from '@pages/SignUp';
const App = () => {
return (
<Switch>
<Route path="/login" component={LogIn} />
<Route path="/signup" component={SignUp} />
</Switch>
);
};
export default App;그랬더니 이전과 같이 화면에 아무것도 안나옵니다.
도대체 뭐가 문제인지를 모르겠네요 ㅜㅜㅜ
답변 1
0
code-server가 뭔지는 모르겠는데 주소를 /만 인식하는것 같은데요. /login /signup을 인식 못하는 것 아닌가요. historyApiFallback같은 옵션이 있어야할것같습니다.
0
code-server는 vscode를 웹에서 사용할 수 있게 해주는 ide입니다.
webpack.config.js에서 devServer 옵션에 historyApiFallback은 true로 되어있는데, 이거 말씀이신가요?
0
좀 더 찾아보니, 배포환경에서 react-router을 사용할때 비슷한 문제를 겪으시는 분들이 있는것 같은데, 그분들은 create-react-app을 사용해서 advanced configuration 으로 .env에 PUBLIC_URL=/absproxy/3000와 같이 설정하셔서 해결하신 것 같더라고요(정확히 같은지는 모르겠지만)
webpack에서 위와 같은 설정 변경하려면 어떻게 하면 될까요?
0
결국 code-server로 실습하는건 포기했습니다 ㅜㅜ
추가적질문 하나 더 있습니다.
DevTools failed to load source map: Could not load content for webpack://sleact-ts-front/node_modules/react-router-dom/esm/react-router-dom.js.map: Fetch through target failed: Unsupported URL scheme; Fallback: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
DevTools failed to load source map: Could not load content for webpack://sleact-ts-front/node_modules/react-router/esm/react-router.js.map: Fetch through target failed: Unsupported URL scheme; Fallback: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
실행시켰을때, 브라우저 console에 이렇게 경고 2개가 뜨는데, 무시하고 진행해도 될까요?
react-router랑 react-router-dom은 정상적으로 설치되어있습니다.
0
저도 정확히 같은 문제로 고생중입니다..ㅠㅠ
일단 .env에 PUBLIC_URL=/absproxy/3000는 해야 하구요
저는 "/" path만 정상적으로 표시되고, 다른 path는 아무 화면도 뜨지 않습니다. 기타 path를 처리해주는 <Route path="/*"> 를 추가하면 전부 그 쪽으로 라우팅되구요.
주소가 ip주소:8080/proxy/3000 여서 생기는 문제 같습니다.. 기본 path가 proxy/3000까지 포함한다는 걸 인식하지 못하는 것 같습니다. 지금 해결방법을 찾았는데, index.js에서 <BrowserRouter basename='/proxy/3000'> 로 설정하면 됩니다.
기본 셋팅과 관련하여
0
92
1
초기 셋팅 back과 front만 남겨두고 다 지운 후 진행 방법
0
96
2
focus 시에만 화면 업데이트 되는 이유 + 해결방법
0
150
2
useEffect 개수 관리
0
110
2
라이브러리 서치 방법
0
104
2
함수 정의 패턴
0
77
1
npm run dev 에러
0
152
3
npx webpack 후 에러
0
178
2
'void' 형식 식의 truthiness를 테스트할 수 없습니다.ts(1345)
0
144
2
사용자 가입시 에러발생 (TypeError: Cannot read properties of null (reading 'addMembers')
1
178
2
초기세팅중 packge.json 에러떠요
0
156
2
CORS - Access-Control-Allow-Origin 누락 문제
0
431
3
로그인 페이지 무한 새로고침 현상
0
598
2
Module not found: Error: Can't resolve './App' 에러
0
959
1
배포 방법
0
297
2
npm run dev 시 빌드가 매우 느려졌습니다
0
990
2
alias 경로 설정 오류
0
451
2
fetcher 함수의 data 값이 두번 찍히는 이유
0
277
1
제네릭 질문
0
218
2
ts-node 대신 tsx 사용여부
0
373
1
배포 관련 질문
0
247
1
[nginx + https] 서비스를 실행하면 niginx가 아닌 서비스 화면을 보여주게 하고 싶습니다.
0
385
2
[배포하기] webpack에 aws 퍼블릭 IPv4 주소 와 포트 주소를 작성하고 나서 빌드후 실행하면 오류가 발생합니다.
0
336
1
users 호출 시 쿠키가 담기지 않는 이슈 질문드립니다.
0
247
2






