Q11 · 优化策略
如何对 bundle 体积进行监控和分析?
⚡ 速记答案(30 秒)
- 构建阶段:使用 webpack-bundle-analyzer、
stats.json分析依赖构成 - 监控:在 CI 中保存每次构建的体积,超过阈值报警
- 关注:各个 chunk 体积、三方库占比、重复依赖、未按需引入的组件库等
- 结合 SourceMap Explorer、Bundlephobia 等工具查看问题库
📖 详细讲解
分析工具
| 工具 | 用途 |
|---|---|
| webpack-bundle-analyzer | 可视化分析 |
| source-map-explorer | 分析 SourceMap |
| bundlephobia | 查看 npm 包体积 |
| size-limit | CI 体积门禁 |
分析维度
1. 整体构成
• 业务代码 vs 第三方库
• 各 chunk 体积分布
2. 问题识别
• 重复依赖
• 未 tree-shaking 的库
• 过大的单个依赖
3. CI 集成
- name: Check bundle size
run: |
npm run build
npx size-limit💻 代码示例
webpack-bundle-analyzer 配置
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
module.exports = {
plugins: [
new BundleAnalyzerPlugin({
analyzerMode: process.env.ANALYZE ? 'server' : 'disabled',
openAnalyzer: true,
}),
],
};
// package.json
// "analyze": "ANALYZE=true npm run build"面试技巧:回答工程化问题时,结合你实际项目中的配置和优化经验,更有说服力。