首先我会说我在这里的工作肯定比我的薪水高一点。我会尽力描述这个问题并使其最容易回答。
我在 Visual Studio 中创建了一个 Blazor 项目,它已连接到 GitHub 存储库 here在 gh-pages 分支中。阅读 Blazor 的托管和部署指南后 here ,我在 Visual Studio 中发布了项目,并将 /bin/Release/netstandard2.0/publish/ChargeLearning/dist
文件夹中的文件复制到存储库的根目录,从而生成具有此文件结构的存储库:
ChargeLearning
ChargeLearning
_content
_framework
css
sample-data
ChargeLearning.sln
index.html
在这一点上,我认为我已经深陷不良实践之中。
无论如何,尝试加载 index.html对于 bootstrap 等 html header 中的大多数文件,控制台会导致 404 错误(正如 blazor 部署指南所警告的那样)。
所以我尽可能地按照那里的说明,尝试实现 this指南中链接的 gh-pages 的单页应用程序 (SPA) 修复。
我现在将 404.html 文件添加到 ChargeLearning 存储库,当我加载页面时它只显示一个 404 错误,用于 blazor.webassembly.js
文件。
然后我将来自 SPA 修复的重定向脚本添加到我的 willthamic.github.io
repository当我打开 direct url到 blazor.webassembly.js
文件似乎正确重定向,但 github 显示我的主页,我现在意识到它已被严重损坏,现在无法加载图像。
我觉得我在这里做错了很多事情,这使得很难立即隔离和解决一个问题。
如果您有关于如何正确部署这个的具体建议,或者关于如何更正确地做我想做的事情的小事情,我将不胜感激。
提前致谢。
最佳答案
blazor.webassembly.js
文件存储在以下划线 (_framework) 开头的目录中,github 的 jekyll 在部署网站时会忽略该目录。在将名为.nojekyll
的文件添加到存储库的根目录 之后,仍然出现404 错误,这让我困惑了很长时间。后来发现我需要更改另一个文件才能重建网站,最终解决了这个问题。
我仍然觉得我正在做很多可能不好的事情,但那是以后的事了。如果有人对此有任何建议,我将为此悬赏。
关于c# - 将 blazor 项目正确发布/部署到 github 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54260158/