In this article, you learn how to build an ASP.NET Core project to act as an API backend and a React project to act as the UI.
Currently, Visual Studio includes ASP.NET Core Single Page Application (SPA) templates that support Angular and React. The templates provide a built in Client App folder in your ASP.NET Core projects that contains the base files and folders of each framework.
Starting in Visual Studio 2022 Preview 2, you can use the method described in this article to create ASP.NET Core Single Page Applications that:
- Put the client app in a separate project, outside from the ASP.NET Core project
- Create the client project based on the framework CLI installed on your computer
3. Give your project and solution a name. When you get to the Additional information window, select .NET 6.0 as your target framework.
Once the project is created, Solution Explorer should look like this:
Set the project properties
Right-click the ASP.NET Core project and choose Properties.
Next, right-click the React project and select the Properties menu and go the Debugging section. Change the Debugger to launch to the launch.json option.
Set the startup project
- Right-click the solution and select Set Startup Project. Change the startup project from Single startup project to Multiple startup projects. Select Start for each project’s action.
- Next, select the backend project and move it above the frontend, so that it starts up first.
Start the project
Before you start the project, make sure that the port numbers match. Go to the launchSettings.json file in your ASP.NET Core project (in the Properties folder). Get the port number from the applicationUrl property.
If there are multiple applicationUrl properties, look for one using an https endpoint. It should look similar to https://localhost:7049.
Then, go to the setupProxy.js file for your React project (look in the src folder). Update the target property to match the applicationUrl property in launchSettings.json.
To start the project, press F5 or select the Start button at the top of the window. You will see two command prompts appear:
- The ASP.NET Core API project running
- npm running the react-scripts start command
You should see an React app appear, that is populated via the API.
Troubleshooting
You may see the following error:
[HPM] Error occurred while trying to proxy request /weatherforecast from localhost:4200 to https://localhost:5001 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
If you see this issue, most likely the frontend started before the backend. Once you see the backend command prompt up and running, just refresh the React App in the browser.
0 Comments