1. 程式人生 > 其它 >效能優化-懶載入和預載入

效能優化-懶載入和預載入

module的非同步載入模組就是懶載入,

懶載入就是固定條件下在進行伺服器的請求,這樣的話頁面初始化請求比較快,首屏優化比較好

懶載入

webpack.config.js檔案

module.exports = {

  entry: "./src/a.js",
}

使用a.js檔案向b.js檔案傳送請求

下面邏輯是一個隨機數,當num能整除的時候再請求b檔案的內容

a.js

let num = parseInt(Math.random() * 10)
if (num % 2 == 0) {
  import(/*webpackChunkName: 'fileB'*/"./b.js").then((res) => {
    console.log(res.b, 'b的結果');
  })
}

b.js

console.log(0000)

此時頁面中關於b檔案的請求是隨機的,這個現象就是懶載入

什麼是預載入?

預載入是初始化的時候就載入,使用的時候用的是載入後快取

a.js檔案

import(/*webpackPrefetch:true*/"./b.js").then((res) => {
  console.log(res.b, 'b的結果');
})

在非同步 請求模組過程中加 /*webpackPrefetch:true*/,表示當前的檔案是預載入的檔案,瀏覽器會在空閒(偷偷的)的時候載入檔案,而不是和其他資源請求併發,這樣會提高互動效率

prefetch表示檔案中有預載入請求