如何减小 dotnet.wasm 的大小
Posted
技术标签:
【中文标题】如何减小 dotnet.wasm 的大小【英文标题】:How can i decrease dotnet.wasm size 【发布时间】:2021-10-26 19:29:09 【问题描述】:我已经在 .net core 6 preview 7 中发布了 blazor web 程序集项目
现在我的 dotnet.wasm 文件非常大 这有 64mb,下载和运行应用程序需要几分钟 In this image you can see the dotnet.wasm file size
我怎样才能减小它的大小!?我发表了 AOT Compilation 并禁用了全球化和其他无用的和平
【问题讨论】:
AoT 增加尺寸。 没有aot多少钱? 是的,这个真正的 aot 是增加了尺寸,但是 blazor aot 有什么好处!?? 【参考方案1】:您可以按照https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/webassembly 的指南启用 Brotli 压缩。之后,您可以选择删除未压缩的文件以及*.gz
压缩文件。这样一来,您就可以大大减少整体大小,降至几兆字节。
【讨论】:
是的,这是减小大小的好方法,但我启用了 AoT 编译,它增加了我的 dotnet.wasm 文件大小,现在我有一个问题!!我如何在 AoT 模式下解决大小问题【参考方案2】:您可以使用 .net 6(和 5)上提供的延迟加载程序集功能。
查看微软官方文档: https://docs.microsoft.com/en-us/aspnet/core/blazor/webassembly-lazy-load-assemblies?view=aspnetcore-5.0
您可以大大减少启动大小和加载时间。
【讨论】:
是的,我看到了这个,但是我的项目中的程序集到处都在使用,我不知道如何使用这个功能【参考方案3】:将<PublishTrimmed>true</PublishTrimmed>
添加到您的 .csproj(在 PropertyGroup 内)。修剪将为您完成大部分尺寸减小。
https://docs.microsoft.com/en-us/dotnet/core/deploying/trimming/trimming-options
【讨论】:
默认不启用!?以上是关于如何减小 dotnet.wasm 的大小的主要内容,如果未能解决你的问题,请参考以下文章