深入了解 Next.js 應用程式捆綁檔案內容的方法。

Next.js 提供了一種分析產生程式碼捆綁檔案的方式。

打開專案的 package.json 檔案,並在 scripts 區塊中新增以下三個指令:

"analyze": "cross-env ANALYZE=true next build",
"analyze:server": "cross-env BUNDLE\_ANALYZE=server next build",
"analyze:browser": "cross-env BUNDLE\_ANALYZE=browser next build"

就像這樣:

{
 "name": "firstproject",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
 "dev": "next",
 "build": "next build",
 "start": "next start",
 "analyze": "cross-env ANALYZE=true next build",
 "analyze:server": "cross-env BUNDLE\_ANALYZE=server next build",
 "analyze:browser": "cross-env BUNDLE\_ANALYZE=browser next build"
 },
 "keywords": [],
 "author": "",
 "license": "ISC",
 "dependencies": {
 "next": "^9.1.2",
 "react": "^16.11.0",
 "react-dom": "^16.11.0"
 }
}

然後安裝下列兩個套件:

npm install --dev cross-env @next/bundle-analyzer

在專案根目錄下創建 next.config.js 檔案,並加入以下內容:

const withBundleAnalyzer = require('@next/bundle-analyzer')({
 enabled: process.env.ANALYZE === 'true'
})

module.exports = withBundleAnalyzer({})

現在執行以下指令:

npm run analyze

這應該會在瀏覽器中打開兩個頁面,一個用於客戶端捆綁檔案,另一個用於服務器捆綁檔案:

這非常有用。您可以檢查捆綁檔案中佔用空間最多的內容,並使用側邊欄來排除某些捆綁檔案,以便更容易地可視化較小的檔案: