Webpack 打包分析智能体
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/webpack-bundle-analyzer-agent
技能介绍
你要解决什么问题
Webpack 项目随着迭代,打包产物往往变得难以审视:哪些模块占了体积、哪些依赖被重复打包、哪些代码其实可以被 tree-shaking 但因为导入方式不对而保留了下来——这些问题靠肉眼看构建日志基本无解。当 bundle 体积膨胀到一定程度,定位根因会变成一项耗时且低效的排查工作。
它如何工作
该技能围绕两个核心 API 展开:
webpack-bundle-analyzer:解析打包产物,输出可视化的模块构成数据,让你看清每个模块和依赖在 bundle 中的占比。source-map-explorer:进一步深入,利用 source map 定位到源码级别的体积来源,区分是业务代码还是第三方库在占空间。
在此基础上,技能会自动执行两个关键步骤:
- 识别重复依赖:找出被多个模块重复引入的包,这些是首要的优化目标。
- 给出 tree-shaking 改写建议:对于因导入方式不规范导致死代码无法被移除的情况,提供具体的 import 改写方案,例如从默认导入切换到具名导入,或调整导入路径以适配包的
sideEffects配置。
适用边界
- 该技能依赖 Webpack 自身的模块打包能力,适用于以 Webpack 为构建工具的项目,不适用于 Vite、Rollup 等其他构建链的直接分析。
- 上游文档指出,Webpack 支持所有符合 ES5 规范的浏览器(IE8 及以下不支持),这意味着分析结果的优化目标应面向现代浏览器环境。
- 最终的 import 改写仍需开发者在代码中验证,技能提供的是分析结论和建议,而非自动修改源码。
使用场景
- 前端项目构建后体积超预期,需定位是业务代码还是依赖库占用空间
- 优化 Webpack 构建时,发现多个模块重复引入同一依赖,需找出具体包
- 代码中存在未生效的 tree-shaking,需定位需要改写的 import 语句
- 审查前端项目依赖时,需分析哪些包可以通过优化导入方式减小体积
适合人员
- 前端开发者,需分析 Webpack 打包构成并优化 bundle 体积
- 构建工具维护者,需定位打包体积膨胀的具体原因
- 性能优化工程师,需通过可视化数据找到代码优化点
- 项目技术负责人,需审查项目依赖并指导优化方向