Open syun123456789 opened 2 months ago
フロントエンドがHTMLだけで開発されている既存のFlaskアプリケーションにReactを安全に追加する方法はいくつかあります。以下の手順を参考にしてください。
まず、開発環境にNode.jsとnpm(Node Package Manager)をインストールします。これにより、Reactやその他の必要なパッケージを管理できます。
ReactプロジェクトをFlaskプロジェクトのディレクトリ内に作成します。以下のコマンドを使用します。
npx create-react-app my-react-app
これにより、my-react-app
というディレクトリにReactの基本プロジェクトが作成されます。
Reactアプリケーションをビルドして静的ファイルとしてFlaskに提供するために、package.json
にビルドスクリプトを追加します。
"scripts": {
"build": "react-scripts build",
...
}
my-react-app
ディレクトリ内で以下のコマンドを実行し、Reactアプリケーションをビルドします。
npm run build
ビルドが成功すると、my-react-app/build
ディレクトリが生成されます。このディレクトリにあるファイルをFlaskの静的ファイルディレクトリ(例えば、static
)にコピーします。
Flaskのテンプレート(HTMLファイル)をReactのビルドファイルを参照するように変更します。 例:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flask with React</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}">
</head>
<body>
<div id="root"></div>
<script src="{{ url_for('static', filename='js/main.js') }}"></script>
</body>
</html>
Flaskのルート設定を行い、Reactアプリケーションのエントリーポイントを提供します。 例:
from flask import Flask, render_template
app = Flask(__name__, static_folder='static', template_folder='templates')
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
Flaskアプリケーションを起動し、ブラウザで確認します。
python app.py
ブラウザでhttp://localhost:5000
にアクセスして、Reactアプリケーションが正しく表示されることを確認します。
これで、既存のFlaskアプリケーションにReactを統合する基本的な方法が完了です。必要に応じて、Reactのコンポーネントや状態管理、APIの統合などを追加で実装していくことができます。
完了期日:8/10