Blazor 选择性加载Javascript

Blazor 选择性加载Javascript,blazor,web-audio-api,blazor-jsinterop,Blazor,Web Audio Api,Blazor Jsinterop,我有一些用于录音和转换为.mp3的JS库,我想在Blazor站点的一个页面上使用它们。但我绝对不希望所有访问该站点的访问者都预加载超过1MB的JavaScript,以防他们导航到该站点的该部分 有什么想法吗?我想您正在编写一个单页应用程序。有几种方法可以做到这一点 我推荐的一个好方法是延迟加载JavaScript,这样只有在您真正想要调用文件内容时才会加载文件。为了更深入地了解这一点,我建议查看: 如果您有这些库的WebAssembly副本,因为您使用的是Blazor,您应该能够使用Blazor

我有一些用于录音和转换为.mp3的JS库,我想在Blazor站点的一个页面上使用它们。但我绝对不希望所有访问该站点的访问者都预加载超过1MB的JavaScript,以防他们导航到该站点的该部分


有什么想法吗?

我想您正在编写一个单页应用程序。有几种方法可以做到这一点

我推荐的一个好方法是延迟加载JavaScript,这样只有在您真正想要调用文件内容时才会加载文件。为了更深入地了解这一点,我建议查看:

如果您有这些库的WebAssembly副本,因为您使用的是Blazor,您应该能够使用Blazor惰性地加载这些库。有关更多信息,请参阅

从前面的文章中可以看到,执行此操作的旧方法是使用jQuery。然而,这不再是推荐的做法。jQuery提供了一个
getScript
方法,请参阅文档或作为讨论此问题的区域。

为什么不使用


我相信你正在寻找这样的东西:我还没有真正尝试过,但想法似乎是使用一个简单的脚本根据需要动态加载较大的脚本。这可能是一种方法。我对Blazor不太熟悉,但我假设它是一个单页应用程序,否则您可以简单地将JavaScript添加到实际希望它出现的页面上。另外,您可能正在寻找一些延迟加载机制:。这是针对webassembly的,但它应该有助于继续搜索。有一些关于javascript延迟加载的信息。必须在主机页上添加指向所有脚本的链接。你为什么不在一个答案中添加一个简短的摘要,所以如果我能在这个周末得到一个概念证明,我可以接受它吗?让我们考虑不要再推荐jQuery了。我特别提到了懒惰加载是推荐的方法,但是我已经更新了帖子以使它更清晰。我同意订单很时髦,所以谢谢你指出这一点
import('module.js').then(module => {
   ...
});