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