【发布时间】:2021-04-07 11:05:26
【问题描述】:
当我构建我的 VueJs 应用程序时,它会自动导入带有 preload 属性的 app.js 和 chunk-vendor.js 文件。这很棒,因为它加快了我的应用程序的页面加载时间。
我查看了@vue/preload-webpack-plugin,我可以看到我可以预加载特定的网络块或资产。这具有在所有路由上预加载这些文件的效果。
我真正想做的是根据加载的初始路由(用户访问的第一条路由)预加载 webchunks。
假设我有两条路线;家和账户。这两条路线都是延迟加载的。当用户打开 /home 作为他们的第一页时,我想预加载与主页相关的 js 和 css webchunk。如果用户最初打开 /accounts 页面,我想预加载与帐户页面相关的 webchunk。
不可能在预加载语句中使用通配符,所以我知道我不能静态地这样做。
有什么想法可以这样工作吗?有没有人听说过其他地方有人建议过这样的项目?
编辑:作为实验,我尝试使用 beforeRouteEnter 方法将预加载标头注入我的 index.html 文件。虽然我可以在我的 DOM 中看到预加载标头,但我发现浏览器没有及时观察到标头,因此我正在试验的图像没有预加载。无论如何,这对于动态命名的文件来说是行不通的,但知道它很有用。
【问题讨论】:
标签: vue.js