效能優化-懶載入和預載入
阿新 • • 發佈:2021-10-27
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表示檔案中有預載入請求