优化服务器端 Blazor 应用程序

Posted

技术标签:

【中文标题】优化服务器端 Blazor 应用程序【英文标题】:Optimize Server Side Blazor application 【发布时间】:2020-09-18 08:10:26 【问题描述】:

我尝试提高服务器端 blazor 应用程序的性能,并从 Google Chrome Lighthouse 获得了结果,它显示了在解析/脚本评估方面的大量工作。

有没有人体验过这在服务器 blazor 中是否正常,或者如何在生产模式下改进这个东西?

只是想知道一些提示或经验,应用程序的哪个部分可能会导致这种行为。

谢谢!

【问题讨论】:

【参考方案1】:

使用服务器端 blazor,浏览器只是充当哑终端。每当您设置 DOM 事件 @onclick @onmousemove 等或通过某些 javascript 发送回服务器时。服务器处理事件,然后 javascript 接收 delta html 以更新正文。

如果可以,请避免定期发生的事件,例如@onmousemove,使用默认绑定设置而不是每次按下键等。

但基本上,预计很多时间会花在 javascript 上,因为 javascript 是整个体验的基础。

【讨论】:

【参考方案2】:

另外,请确保您已开启预渲染。

然后,看看你可以删除哪些脚本,尤其是 jQuery 小部件。仅在初始化时按需加载脚本。

【讨论】:

以上是关于优化服务器端 Blazor 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Blazor 服务器端应用程序中的 Razor 页面导航到 Blazor 组件?

是否可能:使用 Blazor 服务器端作为客户端应用程序

如何从服务器端 Blazor 应用程序中的 Blazor 组件调用 razor 页面而不导致页面刷新

Razor 页面与服务器端 Blazor

将服务器端 Blazor 添加到现有 MVC Core 应用程序

将 datatables.net 与服务器端 Blazor 应用程序一起使用