# webpack-bundle-analyzer
- options object
- analyzerMode 指定此插件的运行模式,默认开启一个服务器
- analyzerHost 当模式为 'server' 时,指定开启的服务器主机地址
- analyzerPort 当模式为 'server' 时,指定开启的服务器端口
- reportFilename 当模式为 'static' 时,指定生成的静态文件路径及名称
- defaultSizes 报告中默认展示的大小,是输入、输出还是 gzip 的大小
- openAnalyzer 是否通过默认浏览器自动打开报告页面
- generateStatsFile 是否生成 webpack stats JSON 文件
- statsFilename 指定要生成的 webpack stats JSON 文件的存放路径及名称
- statsOptions 指定 stats.toJson() 方法的参数对象
- excludeAssets 指定分析报告中要排除的 assets 资源的名称
- logLevel 控制插件输出的详细程度
npm install -D webpack-bundle-analyzer
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
module.exports = {
plugins: [
new BundleAnalyzerPlugin({
// options
})
]
}
2
3
4
5
6
7
8
9
# options object
# analyzerMode 指定此插件的运行模式,默认开启一个服务器
值类型: string
允许值:'server' | 'static' | 'json' | 'disabled'
默认值:'server'
'server'
开启一个 http 服务器来展示打包分析报告(http://127.0.0.1:8888
)'static'
生成一个静态文件report.html
来展示打包分析报告'json'
生成一个 json 文件来展示报告'disabled'
禁用,仅使用此插件来生成 Webpack Stats JSON 文件,通过设置generateStatsFile: true
。
# analyzerHost 当模式为 'server'
时,指定开启的服务器主机地址
值类型: string
默认值:'127.0.0.1'
# analyzerPort 当模式为 'server'
时,指定开启的服务器端口
值类型: number
默认值:8888
当模式为 'server'
,并且需要多个项目同时运行时,需要设置为不同端口,否则会报错并退出。
# reportFilename 当模式为 'static'
时,指定生成的静态文件路径及名称
值类型: string
默认值:'report.html'
当模式设置为 'static'
时, 指定生成的 HTML 报告文件的路径以及文件名,绝对路径或者相对路径均可, 相对路径是相对于 webpack 配置的 output.path
指定的路径。
# defaultSizes 报告中默认展示的大小,是输入、输出还是 gzip 的大小
值类型: string
允许值:'stat' | 'parsed' | 'gzip'
默认值:'parsed'
默认地,模块(module)的大小展示在报告中。
'stat'
输入文件的大小,在经历所有的转换与压缩之前的大小。这叫做stat size
因为是从 webpack 的 stats 对象获得的名称。'parsed'
输出文件的大小。在所有插件转换压缩处理后的大小。(比如 TerserPlugin 压缩后)
It is called "stat size" because it's obtained from Webpack's stats object.
'gzip'
通过 gzip 压缩运行'parsed'
文件之后的大小。
# openAnalyzer 是否通过默认浏览器自动打开报告页面
值类型: boolean
默认值:true
# generateStatsFile 是否生成 webpack stats JSON 文件
值类型: boolean
默认值:false
如果设置为 true
,webpack stats JSON 文件将会生成并放置在 bundle output 目录中。
# statsFilename 指定要生成的 webpack stats JSON 文件的存放路径及名称
值类型: string
默认值:'stats.json'
绝对路径或者相对路径均可, 相对路径是相对于 webpack 配置的 output.path
指定的路径。
# statsOptions 指定 stats.toJson()
方法的参数对象
值类型: null | object
默认值:null
例如,可以使用 { source: false }
选项从 stats 文件中排除模块的源代码。更多详情见 webpack 的 Stats 配置项。
# excludeAssets 指定分析报告中要排除的 assets 资源的名称
值类型: null | pattern || pattern[]
其中 pattern 表示 String | RegExp | function
之一
默认值:null
此选项用来指定打包分析报告中要排除的资源名称,
若设置值为 string
类型,将使用 RegExp(str)
将其转换为 RegExp 类型去匹配资源名称,
若设置值为回调函数,则应该是 (assetName: string) => boolean
,也就是函数第一个参数会传入资源名称, 函数中判断后返回 true
表示要排除,返回 false
则表示不排除。
如果传入数组类型的多个 pattern,则资源文件只要匹配任意一个 pattern 就会被排除。
# logLevel 控制插件输出的详细程度
值类型: string
允许值:'info' | 'warn' | 'error' | 'silent'
默认值:'info'