将React和WebAPI拆分成两个项目?

5

在ASP.NET MVC和JQuery领域卡了大约4年后,我想进一步学习并转向.NET Core 2,WebAPI和React。

因此,我通过一些教程进行了学习,但让我想知道的是为什么每个教程都告诉你将React添加到vs2017 WebAPI项目中?

是否有更好的方法,例如创建一个WebAPI项目和一个单独的React项目(只是解决方案中的一个文件夹),并在这里使用vs code进行开发?

为什么或者为什么不这样做?

3个回答

8

我建议将其分成两个独立的项目。API旨在重复使用,即使一开始你只是为特定的前端构建API。

创建2个项目和存储库。它们也可能会独立部署,你的WebAPI将在.NET环境中托管,而React应用程序可以在任何地方托管。


6

肯定要将它们分成两个不同的项目。

API:

在Visual Studio中使用WebAPI作为一个单独的项目,在IIS上绑定您的项目到一个固定的端口。

REACT:

使用ReactJS和VS Code创建一个新项目,并让其与你在IIS上定义的localhost:PORT一起工作。

在部署到生产环境时,您可以使用Windows服务器在IIS上运行它们两个。其中一个不同的站点作为API(然后您可以将api.DOMAIN.com指向您的域名),另一个运行客户端代码的站点(www.DOMAIN.com)也在同一台IIS服务器上,或者您可以设置NODE在Windows上运行,但那么您需要更多的工作来使其适用于生产环境。

就我个人而言,我不会这样做,我会在Apache或NGINX上运行react应用程序。如果不是大型网站,您可以只使用Heroku进行部署。


1
在Visual Studio即将推出的2022预览版2中,将会解决这个问题:

您可以使用本文所述的方法来创建ASP.NET Core单页应用程序,其中客户端应用程序位于ASP.NET Core项目之外的单独项目中,并且基于计算机上安装的框架CLI创建客户端项目。

来源:Tutorial: 在Visual Studio中使用React创建ASP.NET Core应用程序

虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接的页面更改,仅有链接的答案可能会失效。-【来自审核】 - eglease

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接