WEB-STUDY
Flask와 React 연결하기
비숑주인
2024. 11. 21. 02:23
보통 flask는 express.js랑 써왔고, 둘이 연결성도 좋았는데 백엔드에 Ai 모델을 넣으려니까 역시 flask가 제일 나을 것 같아서 둘이 연결하는 방법을 찾아봤다.
일단 폴더 구조는 이렇게 만들었다. 리엑트 프로젝트를 백엔드와의 구분을 위해서 client로 만들고 밖에 app.py를 비롯한 flask 파일들을 만들었다.

리엑트 프로젝트는 npx를 사용해서 만들어주자
npx create-react-app client
그 다음에 아래 명령어로 Flask-CORS를 설치해준다
pip install flask-cors
app.py에 CORS를 import 해주고
from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
CORS(app) # 개발 환경에서만 이렇게 사용
@app.route('/api/test')
def test():
return {"message": "Connected to Flask!"}
if __name__ == '__main__':
app.run(debug=True)
React에서 concurrently를 사용하기 위해서 install 해준다.
npm install concurrently --save-dev
그리고 client의 package.json에 다음과 같이 설정하자
"scripts": {
"start": "react-scripts start",
"start-api": "cd .. && python app.py",
"dev": "concurrently \"npm run start-api\" \"npm start\""
}
이렇게 proxy 설정을 package.json에 했다면 /api 경로를 사용하지 않아도 된다!
package.json의 "proxy": "http://localhost:5000" 설정이 React 개발 서버에서 처리되지 않는 모든 요청을 자동으로 Flask 서버(localhost:5000)로 전달하기 때문
이제 터미널에서 아래 명령어로 프론트랑 백을 동시에 실행할 수 있다!
cd client
npm run dev