貌似我的理解有问题哈。不加上那个js,页面按钮全部不工作。现在我用git回退到了ABP Studio最初胜场的App.razor,然后一番折腾,貌似没问题了。回头再来报告。
下边的意见,来自WIndSurf里免费的GPT 5.1,我折腾了48个小时。最后按它的指引,删除了这一句,就搞定了我的Blazor的WebApp的部署。
我觉得你们得重视这件事。你们模板里这样搞,别的ABP用户,真的能成功工作吗?
在 Blazor Web App 模式下,这行会让 blazor.web.js 被 重复加载和初始化,导致电路初始化状态错乱,经常在刷新或 DOM 更新时抛出:
Circuit host not initializedstartCircuitIfNotStartedrefreshRootComponents 相关错误Nginx 反向代理 (prod-erp2-app.conf) 的配置是针对 /、/_framework/、/loda-signalr-hubs/ 的,整体是按 Blazor Server 的最佳实践写的,目前没有看到会触发这个特定错误的问题,所以根因在前端启动方式,而不是反代。
不再手动加载 _framework/blazor.web.js,让框架自己管理脚本加载和电路初始化。
这样可以避免 同一页面上两次启动 Blazor,按经验这个能解决你现在在 https://app.loda.net 上看到的那串 Circuit host not initialized 异常。
我跟你隆重的反馈第一个问题:
我从.NET 6.0到.NET 8.0,都是自己“想当然的”“优化”了Visual Studio 2022默认生成的Dockerfile
它默认是3步
过去的几年,我这个技巧是没有问题的。
但是到了Blazor WebApp这里,就会导致发布之后,没有_framework文件夹。
我取消自己山寨的优化,就搞定了这个问题。
[maliming] said: 你可以先试试Blazor Server, 它和web app差不多. webapp```
那我就要修改这里,改成_framework/blazor.server.js
才适配Blazor.Server?
我们已经用了2年的Blazor Server了。
我刚刚去ChatGPT学习了一下,Blazor Web App才是未来啊。我现在以同样的名字,去ABP Studio生成全新的代码,UI选择Blazor Web App试试?
WindSurf现在让我这样干,我还是等你吃完饭回复我一下啊。因为你说ABP是采用web.js。 但是我现在发布到https://erp2.loda.net 确实是纯粹的Blazor Server。
我现在去学习什么是BlazorWebApp。
已做两处关键修改:
PlatformBlazorModule.cs 第 131 行:IsBlazorWebApp = false(改回纯 Blazor Server) App.razor 第 50 行:引用改回 blazor.server.js 这样 Docker 构建时会按标准 Blazor Server 模式生成 framework 目录。
那你给我解释一下,为什么我这个Blazor Server的项目(发布),ABP框架用的文件貌似是Blazor WebAssembly的呢?
发布没有_framework文件夹的事我自己去搞定。
cd "e:\gitlab\platform\deploy\blazor-server\src\Loda.Platform.Blazor"
dotnet clean
dotnet publish -c Release -o .\publish-test
这个文件缺失,是我的发布行为的问题。我本地这么干干净净发布,是会有这个文件夹的。
我是Blazor Server的项目呢?我目前还没有开始使用Blazor WebAssembly。
根本没有_framework这个文件夹呢
我截取一部分:
# ls -R
./_content/Volo.Saas.Host.Blazor/libs:
chart
./_content/Volo.Saas.Host.Blazor/libs/chart:
chart.min.js chart.min.js.br chart.min.js.gz
./images:
getting-started logo
./images/getting-started:
bg-01.png discord.svg.br img-community.png instagram.svg.br stack-overflow.svg.br x-white.svg.br youtube.svg.br
book.png discord.svg.gz img-support.png instagram.svg.gz stack-overflow.svg.gz x-white.svg.gz youtube.svg.gz
discord.svg img-blog.png instagram.svg stack-overflow.svg x-white.svg youtube.svg
./images/logo:
leptonx
./images/logo/leptonx:
icon.svg icon.svg.br icon.svg.gz logo-dark.svg logo-dark.svg.br logo-dark.svg.gz logo-light.svg logo-light.svg.br logo-light.svg.gz
./libs:```