reactjs 使用asp.net核心visual studio react模板部署Next JS项目

xiozqbni  于 2023-04-05  发布在  React
关注(0)|答案(2)|浏览(123)

我决定在visual studio中使用www.example.com核心react模板开始的项目中添加nextjs的ssr功能asp.net。在添加nextjs之前,当我在visual studio中点击运行项目按钮时,API服务器和cra服务器都可以正常启动...但在添加nextjs到我的项目之后,它给了我一个服务器错误。
我通过在vs代码中运行npm run devnpm start来修复这个问题,以便在visual studio旁边启动nextjs服务器。
现在我想在Visual Studio中发布我的项目,但在我发布的文件夹中没有clientApp或任何其他与react相关的文件夹(当然,当上传到服务器时,它会出现内部服务器错误,看起来它甚至没有构建我的nextjs应用程序)
如何发布基于visual studio www.example.com核心react模板的nextjs应用程序asp.net?

nzk0hqpo

nzk0hqpo1#

您需要使用反向代理
https://learn.microsoft.com/en-us/aspnet/core/client-side/spa/react?view=aspnetcore-3.1&tabs=visual-studio#run-the-cra-server-independently
https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-3.1

sh7euo9m

sh7euo9m2#

对我有用的是使用NextjsStaticHosting-AspNetCore按照下面的步骤:
1.使用dotnet add package NextjsStaticHosting.AspNetCore --version 0.9.2-preview添加包。
1.添加Next.js托管支持:services.Configure<NextjsStaticHostingOptions(config.GetSection("NextjsStaticHosting")); services.AddNextjsStaticHosting();
1.在appsettings.json上添加以下部分:"NextjsStaticHosting": {"RootPath": "client-app"}
1.在package.json "build:export": "npx next build && npx next export -o build/"上添加以下命令
1.将.csproj文件上的生成命令更新为以下内容:
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:export" />

相关问题