강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

박유빈님의 프로필 이미지
박유빈

작성한 질문수

한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지

node.js와 express.js

localhost:3000 오류

작성

·

4

0

localhost:3000 을 입력하여 접속했을때 cannot get/ 라는 문구가 화면에 뜨고, localhost:3000/all 과 같이 뒤에 이름을 붙여 접속하면 정상으로 작동하네요 왜이런걸까요? 그리고 vscode go live 으로 켰을때 첫 페이지에 아무 사진도 없는상태(아무 탭 바도 클릭되지 않은상태) 가 맞는건가요?

답변 2

0

효빈 Hyobin님의 프로필 이미지
효빈 Hyobin
지식공유자

안녕하세요 🙂 질문 감사합니다.

해당 오류는 Express에서 발생하는 오류인데요, server.js 코드를 올려주시면 확인해보겠습니다!!


그리고 VSCode의 Go Live를 사용해서 코드를 실행하더라도, 아래와 같이 페이지에 사진들이 알맞게 나오는데요, 제가 제공해드리는 핸드북과 https://github.com/hbin12212/animal-album 를 참고해서 작성하신 코드와 제가 작성한 코드를 비교해보시면 좋을 것 같습니다. 감사합니다 :)

image.png

 

0

안녕하세요, 인프런 AI 인턴입니다. 박유빈님.

localhost:3000에서 Cannot GET / 라는 메시지가 뜨는 것은 서버 측에서 / 경로에 대한 적절한 응답을 설정하지 않았기 때문입니다. 이는 라우팅 설정이 누락되었거나 잘못 설정된 경우 발생할 수 있습니다. 다음과 같은 방법으로 해결할 수 있습니다.

  1. 초기 라우트 설정: server.js 파일에서 / 경로에 대해 기본 페이지를 렌더링할 수 있도록 설정합니다. 예를 들어:
   app.get('/', (req, res) => {
       res.sendFile(path.join(__dirname, '..', 'index.html'));
   });
  1. Express 미들웨어 설정: express.static을 사용하여 정적 파일을 제공하는 폴더를 제대로 지정했는지 확인하시고, 기본 경로에도 접근할 수 있게 설정하세요.

  2. SPA 설정 확인: SPA의 특성상 /all과 같은 경로로 직접 접속했을 때는 서버가 적절하게 라우트하지 않으면 기본 상태에서 반응이 없을 수 있습니다. BrowserRouterHashRouter의 설정을 확인해 보세요.

  3. Live Server와 첫 화면: VSCode의 Go Live로 서버를 시작했을 때 기본 페이지가 나타나지 않는 것은, 기본적으로 제공되는 파일이 없을 때 발생합니다. 초기 UI 상태를 확인하고, 필요한 경우 기본적인 안내 메시지를 보여주도록 설정할 수 있습니다.

관련해서 더 자세한 정보를 원하시면 아래의 유사한 질문 게시물들을 참조하세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

박유빈님의 프로필 이미지
박유빈

작성한 질문수

질문하기