ASP.NET Core + Reactのプロジェクトを作成する
ASP.NET Core + Reactの開発環境をDockerで作成するで作成したDocker
の開発環境に、ASP.NET Core
(.NET6
) + React
のプロジェクトを作成します。
現状は、以下の構成になっています。
- .devcontainer
- .devcontainer.json
- docker
- app
- Dockerfile
- app
- docker-compose.yml
VSCode
でこのコンテナを開き、ctrl+@でコンソールを表示します。
以下のコマンドで、ASP.NET Core
+ React
を作成します。
$ dotnet new react -o App.Web
dotnet new テンプレート名 -o 出力フォルダ名
の形式で指定します。
出力フォルダ名はそのままプロジェクト名になりますので、適宜変更してください。
最終的には以下の4階層のプロジェクトを作成し、ソリューションで管理する予定です。
App.Application
App.Domain
App.Infrastructure
App.Web
App
はソリューション名(システム名)として、すべてのプロジェクトの先頭に記載し、その後ろにWeb
などの各プロジェクト名を記載しています。
コマンドを実行すると、App.Web
のフォルダが作成されます。
バックエンドはASP.NET COre
、フロントエンドはReact
の構成でプロジェクトが作成されます。
ClientApp
というフォルダがReact
のプロジェクトになります。
プロジェクトを実行する
コンソールで、カレントディレクトリをApp.Web
に移動し、dotnet run
のコマンドを実行します。
$ cd App.Web #カレントディレクトリの移動
$ dotnet run
初回のみ、React
のプロジェクトでnode_modules
をインストールする処理が行われるため、少し時間がかかりますが、ASP.NET COre
とReact
の両方のプロジェクトが実行されます。
VSCode
の右下に「ポート XXXX で実行されているアプリケーションは使用可能です。」というダイアログが表示されるので、「ブラウザで開く」ボタンをクリックします。
https
のセキュリティの警告ページが表示される場合がありますが、無視してそのまま表示します。
動作確認
ブラウザで開くと、Hellow, world
のページが表示されることを確認できます。
右上のFeatch Data
のリンクをクリックすると、データが表形式で一覧表示されます。
このデータはASP.NET COre
で自動作成されたAPI
からデータを取得して、表示しています。
CORS
やプロキシなどの設定は、ひな形のテンプレートで設定されているため、特に気にすることなく、バックエンドとフロントエンドでデータのやり取りが可能になります。