我有兴趣将我的初始代码拆分为两个块,这两个块由应用程序使用async / defer属性异步加载。一个用于很少改变并且很大的销售库,以便他们可以从缓存中获益更长时间,另一个包含加载初始页面所需的基本代码。这将是一个较小的块,由于我们经常将更改部署到生产中,因此可能每周都会更改。
但我们有兴趣在下载所有JS资源之前显示正确的“loading ...”页面。如果应用程序JS在供应商之前完成加载(当供应商未被缓存时,很可能发生这种情况),它应该等待供应商加载。
我无法弄清楚如何使用webpack实现这一目标。有一些示例同步加载供应商块,以便应用程序代码将始终在供应商之后加载,但这意味着应用程序将不会呈现正确的“加载...”页面,因为它被JS脚本阻止。我可以将脚本添加到正文的末尾,但它不是最佳的,因为与在文档头部添加异步脚本标记相比,它会增加脚本开始下载的延迟。
代码拆分文档中有一个关于如何生成供应商和应用程序JS的示例,但只有在应用程序JS之前加载供应商时它才有效。有没有办法可以指示应用程序包在运行之前等待供应商加载?