在网站最初加载时显示加载 Blazor (webassembly) Assemblies/Dlls
Show loading Blazor (webassembly) Assemblies/Dlls when the site is initially loaded
我正在测试一个 Blazor Webassembly 应用程序,最初加载需要很长时间(我没有使用程序集修剪和延迟加载)...并且使用浏览器控制台,我注意到很多 assemblies/dlls 每次最初访问网站时首先下载到客户端(请参见下面的示例图片):
有没有办法在 blazor 应用程序的“正在加载...”中显示正在下载的程序集?
这样用户就可以看到应用程序最初下载的库是什么,而不仅仅是一个微调器或盯着静态的“正在加载...”文本?
使用js启动Blazor,你可以这样做
Blazor wasm 允许您通过 js 自定义启动行为。
<script src="_framework/blazor.webassembly.js" autostart="false"></script>
这将禁止 Blazor 在下载脚本后立即启动。
您现在可以使用 Blazor
全局变量启动 blazor。
<script>
Blazor.start({
loadBootResource: function (type, name, defaultUri, integrity) {
const doc = document.getElementById("app"); // assuming you have <div id="app"> as the root component
doc.innerHtml += `${name} ${defaultUri} <br />`;
}
});
</script>
在 loadBootResource
上返回 null
或 undefined
将使 Blazor 的默认下载行为完成它的工作。我们只是连接到它以获取正在下载的内容。
有关 MS 文档的更多信息:https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/startup?view=aspnetcore-5.0#load-boot-resources-1
我正在测试一个 Blazor Webassembly 应用程序,最初加载需要很长时间(我没有使用程序集修剪和延迟加载)...并且使用浏览器控制台,我注意到很多 assemblies/dlls 每次最初访问网站时首先下载到客户端(请参见下面的示例图片):
有没有办法在 blazor 应用程序的“正在加载...”中显示正在下载的程序集?
这样用户就可以看到应用程序最初下载的库是什么,而不仅仅是一个微调器或盯着静态的“正在加载...”文本?
使用js启动Blazor,你可以这样做
Blazor wasm 允许您通过 js 自定义启动行为。
<script src="_framework/blazor.webassembly.js" autostart="false"></script>
这将禁止 Blazor 在下载脚本后立即启动。
您现在可以使用 Blazor
全局变量启动 blazor。
<script>
Blazor.start({
loadBootResource: function (type, name, defaultUri, integrity) {
const doc = document.getElementById("app"); // assuming you have <div id="app"> as the root component
doc.innerHtml += `${name} ${defaultUri} <br />`;
}
});
</script>
在 loadBootResource
上返回 null
或 undefined
将使 Blazor 的默认下载行为完成它的工作。我们只是连接到它以获取正在下载的内容。
有关 MS 文档的更多信息:https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/startup?view=aspnetcore-5.0#load-boot-resources-1