• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

배포후 로컬에서 Index.html 열면 작동이 잘 안하는 이유

23.01.25 23:24 작성 23.01.25 23:24 수정 조회수 373

0

백엔드에 배포하려고 파일 넘기기 전에,,

  1. 빌드가 잘 되었는지 테스트해보려고 (백엔드 먼저 켜두고)
    index.html을 그냥 브라우저로 열면 백엔드와 잘 연동될줄 알았는데, 첫 화면부터 보이지가 않아서요. 그 이유가 궁금합니다.

  2. 이유가 혹시,,, 웹펙에서

devServer: {
    historyApiFallback: true, // react router(원래 SPA에서는 3090/ 주소밖에 모른다. 뒤에 /login같은 경로는 우리가 가짜로 만들어낸건데 History api(History 기본함수)가 가짜주소를 만들어주는 거다.)
    port: 3090,
    devMiddleware: { publicPath: '/dist/' },
    static: { directory: path.resolve(__dirname) },
    proxy: {
      '/api/': {
        //프론트에서 /api/로 보내는 요청은 주소를 3095로 바꿔서 보내겠다
        target: 'http://localhost:3095',
        changeOrigin: true,
      },
    },
  },

위와 같이 dev모드일때는 3090포트 개발서버를 항상 켜두는데, 이처럼 뭔가 서버가 계속 켜있어야 프론트가 잘 작동 가능한건가요?? (그래서 배포할때 백엔드서버는 항상 켜있으니까 그냥 넘겨주면 된다는게 이해가 되는거 같아서요) 만약 그렇다면 프론트인데 빌드 결과물이 있는데 왜 계속 프론트만을 위한 서버가 켜있어야 하는지 궁금합니다,,

저는 배포파일이 실행파일마냥 그냥 index.html 실행하면 (백엔드 켜져있어서 통신할 수 있다는 가정하에) 알아서 잘 되는줄 알았거든요,,

답변 1

답변을 작성해보세요.

1

네트워크 탭 켜보시면 app.js라든가의 경로가 맞지 않을 겁니다. 그 경로는 백엔드에서 보통 컨트롤해주는 것이고요. 또한 백엔드와의 api 소통이 원활하지 않아서 화면이 표시되지 않을 수도 있습니다.