我正在尝试创建一个在网站上使用的 Blazor 应用程序。网站的大部分内容都是静态的,出于客户端性能的原因,我希望这部分内容由静态 HTML 文件提供。Blazor 应用程序将呈现网站\xe2\x80\x99s 的一些页面。在对此进行原型设计时,我遇到了一个问题:当从 Blazor 部分导航回网站的静态部分时,我收到 \xe2\x80\x9cError: System.InvalidOperationException: 'Router' 找不到任何具有以下路由的组件'/index.html'.\xe2\x80\x9d
\n\nindex.html 的链接位于包含应用程序的页面的 body 标记中,但位于应用程序标记之外,并且应该在 Blazor\xe2\x80\x99 的注意力之外。我知道问题的原因是路由器无法\xe2\x80\x99找到该路由的组件,但为什么 Blazor 试图找到该组件而不是让浏览器导航到非 Blazor 页面?我想这个链接应该由浏览器而不是 Blazor 处理?
\n在startup.cs您网站的 中,将app.UseBlazor()语句更改为:
app.Map("/bzr", child => { child.UseBlazor<Blazor.Program>(); });
并在index.html中wwwroot,将基本 href 更改为:
<base href="/bzr/" />
现在,该文件夹之外的任何内容都/bzr将像常规网站一样工作。
| 归档时间: |
|
| 查看次数: |
3337 次 |
| 最近记录: |