본문 바로가기
Web Study/React 관련

React 로 Netlify 배포 해보기.. feat.Heroku

by 쿠리의일상 2023. 5. 23.

저번에 안되었던 문제를 드디어 알게되었다.

바로 프록시 서버는 개발 환경에서만 된다는 것이었다.

 

서버 구축하기 싫어서 우회하려고 했더니 결국은 서버를 만들게 되었다.

CORS 오류가 자꾸나서 홈페이지 배포는 성공했지만 공공API를 읽어오지 못하는 것이었다. (이것 때문에 3시간을 헤매었다)

+ http 프로토콜로 제공됨..

 

그래서 어떻게 해야하나 알아보다가 헤로쿠라는 사이트가 있다고 해서 사용해보기로 하였다.

https://devcenter.heroku.com/articles/heroku-cli#install-the-heroku-cli

 

The Heroku CLI | Heroku Dev Center

Last updated May 02, 2023 The Heroku Command Line Interface (CLI) lets you create and manage Heroku apps directly from the terminal. It’s an essential part of using Heroku. Install the Heroku CLI Pre-requisites The Heroku CLI requires Git, the popular ve

devcenter.heroku.com

위의 방법대로 터미널에 다운 받아준다.

brew tap heroku/brew && brew install heroku

 

 

 

이제 서버를 구축해볼 차례이다..

 

npm init -y

package.json 파일 만들어주고

 

npm install express nodemon concurrently

익스프레스 등 다운, concurrently는 리액트와 익스프레스를 동시에 실행시켜주는 모듈이라고 함

 

// express 모듈 불러오기
const express = require('express');

const app = express();
const port = 5001;
app.listen(port);

app.use('/api/data', function(req, res) {
    res.json({ testing: 'Hello' });
});

console.log(`server running... ${port}`);

http://localhost:5001/api/data 에 접속해보면 json으로 보낸 객체를 확인할 수 있다.

 

위의 과정을 거친 후 깃에 올려준다!

 

헤로쿠 연동하기

heroku login

해당 명령어를 입력 후 아무 키나 눌러서 헤로쿠에 로그인해줄 수 있다.

heroku create 프로젝트이름
git remote -v

로그인 한 다음 프로젝트명을 지어서 만들어주고 깃과 연동시켜준다.

 

git push heroku main

 

이렇게 일단 로컬에서 데이터를 가져와서 다시 뿌려주는 것은 성공했다!

하지만... 헤로쿠가 왜 빌드가 안되는 것인가...?

구글링하는 중이지만 며칠 째 해결하지 못하고 있어서 fly.io 를 사용해야하나 많은 고민을 하고 있다.

 

 

 

참고 :::

https://velog.io/@kskim625/React-Express-Heroku-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0

 

React + Express >> Heroku 배포하기

React를 연동한 프로젝트를 진행하며 서비스를 배포하기로 결정하여 어떻게 배포할 지 고민하였다. 간편하게 배포만 하는 것이 목표였기 때문에 처음에는 Github Pages를 이용하여 배포했다. 그런데

velog.io

https://velog.io/@recordboy/Express-React-%EC%97%B0%EB%8F%99-%EB%B0%8F-Heroku%EC%97%90-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0

 

Express + React 연동 및 Heroku에 배포하기

헤로쿠(Heroku)는 서버 호스팅을 지원하는 클라우드 플랫폼이며, 무료로 서비스를 이용할 수 있는 장점이 있다. 단 무료버전의 경우 최대 5개의 어플리케이션만 올릴 수 있으며, 30분동안 요청이

velog.io

https://xiubindev.tistory.com/115

 

나를 너무나 힘들게 했던 CORS 에러 해결하기 😂

🔥 사건의 발단 : 외부 API 호출 때는 바야흐로 2020년 3월. 프론트엔드 공부를 시작한 지 얼마 되지 않은 채 홀로 토이 프로젝트를 진행하던 중이었다. 코로나 바이러스 관련 웹서비스를 만들고자

xiubindev.tistory.com