将 Blazor 嵌入到 Jekyll 博客中。 uri 不包含在基本 URI 中

Embedding Blazor into a Jekyll blog. the uri is not contained by the base URI

我正在使用 jekyll 将我的 blazor 应用程序嵌入到我的 github 页面网站中。我的 blazor 应用程序不使用导航。但是,我收到此错误:

System.ArgumentException: The URI 'http://localhost:4000/blog/2020/05/01/XamlTemplates' is not contained by the base URI 'http://localhost:4000/blazor/XamlTemplates/'.

这是我的 page_blazor.html 在 _includes 文件夹中嵌入网站的各个页面

<script src="js/index.js"></script>
<app>Loading...</app>

<script src="_framework/blazor.webassembly.js"></script>

如果 index.html 文件与“_framework”文件夹位于同一文件夹中,则此方法有效。 这就是我在我的博客中使用它的方式:

---
title: Xaml Templates
date: 2020-05-01
layout: post
name: Razor for Xaml
baseUrl: /blazor/XamlTemplates/
---

{% include page_blazor.html %}

此博客 post 的 url 与 blazor 使用的基础 Url 不同。这就是导致异常的原因。有谁知道是否有办法解决这个问题?为什么一定要指定基数Url?有没有办法关闭 blazor 导航。我想避免的是必须将 dll 复制并粘贴到我想在我的站点中使用它们的任何地方。

基础url用于导航和物理文件依赖。

即使您不使用导航,如果您在站点层次结构中向下加载几步页面,您的应用程序仍然需要能够返回到应用程序根目录才能获取您的 wasm dll。幸运的是,这很容易通过将 <base href="/blazor"> 添加到您的页面来实现。

微软为此提供excellent documentation