Vue路由懶加載-prefetch預加載問題

通常項目配置router的懶加載,基于webpack4+和ES6,最簡單的寫法是

const routers = [{
  path: '/xxx',
  name: 'xxx',
  component: () => import('@/xx/xxx.vue') // import()的動態(tài)引入
}]

此時文件加載按頁面引入,每個頁面跳轉進加載該頁面需要的資源


prefetch預加載使首屏加載變慢

在vue-cli3升級之后,配置了webpack的預加載,這時候除了路由懶加載需要的當前頁面資源,其他資源也會被請求,但不會被解析



白色文件就是預加載的文件,仍然會耗時下載,只是不會被解析。
由于預加載文件比較多,反而阻塞了實際需要的文件下載,首頁渲染速度變慢。

解決方法

// vue.config.js
module.exports = {
  chainWebpack: config => {
    // 移除 prefetch 插件
    config.plugins.delete('prefetch')

    // 或者
    // 修改它的選項:
    config.plugin('prefetch').tap(options => {
      options[0].fileBlacklist = options[0].fileBlacklist || []
      options[0].fileBlacklist.push(/myasyncRoute(.)+?\.js$/)
      return options
    })
  }
}
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容