작성
·
3
0
localhost:3000 을 입력하여 접속했을때 cannot get/ 라는 문구가 화면에 뜨고, localhost:3000/all 과 같이 뒤에 이름을 붙여 접속하면 정상으로 작동하네요 왜이런걸까요? 그리고 vscode go live 으로 켰을때 첫 페이지에 아무 사진도 없는상태(아무 탭 바도 클릭되지 않은상태) 가 맞는건가요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 박유빈님.
localhost:3000
에서 Cannot GET /
라는 메시지가 뜨는 것은 서버 측에서 /
경로에 대한 적절한 응답을 설정하지 않았기 때문입니다. 이는 라우팅 설정이 누락되었거나 잘못 설정된 경우 발생할 수 있습니다. 다음과 같은 방법으로 해결할 수 있습니다.
server.js
파일에서 /
경로에 대해 기본 페이지를 렌더링할 수 있도록 설정합니다. 예를 들어: app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, '..', 'index.html'));
});
Express 미들웨어 설정: express.static
을 사용하여 정적 파일을 제공하는 폴더를 제대로 지정했는지 확인하시고, 기본 경로에도 접근할 수 있게 설정하세요.
SPA 설정 확인: SPA의 특성상 /all
과 같은 경로로 직접 접속했을 때는 서버가 적절하게 라우트하지 않으면 기본 상태에서 반응이 없을 수 있습니다. BrowserRouter
나 HashRouter
의 설정을 확인해 보세요.
Live Server와 첫 화면: VSCode의 Go Live로 서버를 시작했을 때 기본 페이지가 나타나지 않는 것은, 기본적으로 제공되는 파일이 없을 때 발생합니다. 초기 UI 상태를 확인하고, 필요한 경우 기본적인 안내 메시지를 보여주도록 설정할 수 있습니다.
관련해서 더 자세한 정보를 원하시면 아래의 유사한 질문 게시물들을 참조하세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.