1. 程式人生 > >webpack-bundle-analyzer打包檔案分析工具

webpack-bundle-analyzer打包檔案分析工具

一、安裝

npm intall webpack-bundle-analyzer –save-dev

二、配置

build/webpack.prod.config.js中的module.exports = webpackConfig這句話的上面增加

if (config.build.bundleAnalyzerReport) {
  const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
  webpackConfig.plugins.push(new BundleAnalyzerPlugin()) }

三、執行

啟動服務:

生產環境檢視:npm run build --report 或 正常build 即可啟動檢視器

開發環境檢視:webpack -p --progress 或啟動正常devServer服務即可啟動檢視器!

四、結果

 該外掛預設配置

new BundleAnalyzerPlugin({
  //  可以是`server`,`static`或`disabled`。
  //  在`server`模式下,分析器將啟動HTTP伺服器來顯示軟體包報告。
  //  在“靜態”模式下,會生成帶有報告的單個HTML檔案。
// 在`disabled`模式下,你可以使用這個外掛來將`generateStatsFile`設定為`true`來生成Webpack Stats JSON檔案。 analyzerMode: 'server', // 將在“伺服器”模式下使用的主機啟動HTTP伺服器。 analyzerHost: '127.0.0.1', // 將在“伺服器”模式下使用的埠啟動HTTP伺服器。 analyzerPort: 8888, // 路徑捆綁,將在`static`模式下生成的報告檔案。 // 相對於捆綁輸出目錄。 reportFilename: 'report.html',
// 模組大小預設顯示在報告中。 // 應該是`stat`,`parsed`或者`gzip`中的一個。 // 有關更多資訊,請參見“定義”一節。 defaultSizes: 'parsed', // 在預設瀏覽器中自動開啟報告 openAnalyzer: true, // 如果為true,則Webpack Stats JSON檔案將在bundle輸出目錄中生成 generateStatsFile: false, // 如果`generateStatsFile`為`true`,將會生成Webpack Stats JSON檔案的名字。 // 相對於捆綁輸出目錄。 statsFilename: 'stats.json', // stats.toJson()方法的選項。 // 例如,您可以使用`source:false`選項排除統計檔案中模組的來源。 // 在這裡檢視更多選項:https: //github.com/webpack/webpack/blob/webpack-1/lib/Stats.js#L21 statsOptions: null, logLevel: 'info' // 日誌級別。可以是'資訊','警告','錯誤'或'沉默'。 })

 

模組功能:

  • 意識到你的檔案打包壓縮後中真正的內容
  • 找出哪些模組組成最大的大小
  • 找到錯誤的模組
  • 優化它!
  • 最好的事情是它支援縮小捆綁!它解析它們以獲得實際大小的捆綁模組。它也顯示他們的gzipped大小!

npm intall webpack-bundle-analyzer –save-dev

二、配置

build/webpack.prod.config.js中的module.exports = webpackConfig這句話的上面增加

if (config.build.bundleAnalyzerReport) {
  const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
  webpackConfig.plugins.push(new BundleAnalyzerPlugin()) }

三、執行

啟動服務:

生產環境檢視:npm run build --report 或 正常build 即可啟動檢視器

開發環境檢視:webpack -p --progress 或啟動正常devServer服務即可啟動檢視器!

四、結果

 該外掛預設配置

new BundleAnalyzerPlugin({
  //  可以是`server`,`static`或`disabled`。
  //  在`server`模式下,分析器將啟動HTTP伺服器來顯示軟體包報告。
  //  在“靜態”模式下,會生成帶有報告的單個HTML檔案。
  //  在`disabled`模式下,你可以使用這個外掛來將`generateStatsFile`設定為`true`來生成Webpack Stats JSON檔案。
  analyzerMode: 'server',
  //  將在“伺服器”模式下使用的主機啟動HTTP伺服器。
  analyzerHost: '127.0.0.1',
  //  將在“伺服器”模式下使用的埠啟動HTTP伺服器。
  analyzerPort: 8888, 
  //  路徑捆綁,將在`static`模式下生成的報告檔案。
  //  相對於捆綁輸出目錄。
  reportFilename: 'report.html',
  //  模組大小預設顯示在報告中。
  //  應該是`stat`,`parsed`或者`gzip`中的一個。
  //  有關更多資訊,請參見“定義”一節。
  defaultSizes: 'parsed',
  //  在預設瀏覽器中自動開啟報告
  openAnalyzer: true,
  //  如果為true,則Webpack Stats JSON檔案將在bundle輸出目錄中生成
  generateStatsFile: false, 
  //  如果`generateStatsFile`為`true`,將會生成Webpack Stats JSON檔案的名字。
  //  相對於捆綁輸出目錄。
  statsFilename: 'stats.json',
  //  stats.toJson()方法的選項。
  //  例如,您可以使用`source:false`選項排除統計檔案中模組的來源。
  //  在這裡檢視更多選項:https:  //github.com/webpack/webpack/blob/webpack-1/lib/Stats.js#L21
  statsOptions: null,
  logLevel: 'info' // 日誌級別。可以是'資訊','警告','錯誤'或'沉默'。
})

 

模組功能:

  • 意識到你的檔案打包壓縮後中真正的內容
  • 找出哪些模組組成最大的大小
  • 找到錯誤的模組
  • 優化它!
  • 最好的事情是它支援縮小捆綁!它解析它們以獲得實際大小的捆綁模組。它也顯示他們的gzipped大小!