前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[分享]Webpack打包分析工具

[分享]Webpack打包分析工具

作者头像
前端LeBron
发布2021-12-08 16:37:18
1K0
发布2021-12-08 16:37:18
举报
文章被收录于专栏:前端LeBron

原创不易,未经作者允许禁止转载!!

Webpack打包分析

分享时间和文件的分析工具,便于进行打包优化。

打包的时间分析

  • 如果希望看到每一个Loader、每一个Plugin消耗的打包时间,可以借助于一个插件:speed-measure-webpack-plugin
    • 注意:该插件在最新的webpack版本中存在一些兼容性的问题(和部分Plugin不兼容)
    • 截止2021-3-10日,但是目前该插件还在维护,所以可以等待后续是否更新;
  • 安装
    • npm i speed-measure-webpack-plugin
  • 使用
    • 创建插件导出的对象 SpeedMeasurePlugin;
    • 使用 smp.wrap 包裹我们导出的webpack配置;
代码语言:javascript
复制
const SpeedMeasurePlugin = require("speed-measure-webpack-plugin")
const smp = new SpeedMeasurePlugin()

module.exports = function (env) {
    const isProduction = env.production;
    process.env.NODE_ENV = isProduction ? "production" : "development"

    const config = isProduction ? prodConfig : devConfig
    const webpackConfig = merge(commonConfig(isProduction), config)
    return smp.wrap(webpackConfig)
}
  • 效果

打包后的文件分析

方案一:生成stats.json文件

  • 编辑npm script
代码语言:javascript
复制
"stats": "webpack --config ./config/webpack.common.js --env production --profile --json=stats.json", 
  • 运行npm run stats
    • 根目录下生成了一个stats.json
  • json文件内容较复杂,可以将文件上传至https://webpack.github.io/analyse/ 进行分析
  • 效果

方案二:使用webpack-bundle-analyzer

  • 安装
    • npm install webpack-bundle-analyzer
  • webpack.common.js
代码语言:javascript
复制
const {BundleAnalyzerPlugin} = require("webpack-bundle-analyzer")

plugins:[
    new BundleAnalyzerPlugin()
]
  • 在打包webpack的时候,这个工具打开一个8888端口上的服务,我们可以直观的看到每个包的大小。
    • 比如有一个包是通过一个Vue组件打包的,但是非常的大,那么我们可以考虑是否可以拆分出多个组件,并且对其进行懒加载;
    • 比如一个图片或者字体文件特别大,是否可以对其进行压缩或者其他的优化处理;
  • 效果
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端LeBron 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Webpack打包分析
    • 打包的时间分析
      • 打包后的文件分析
        • 方案一:生成stats.json文件
        • 方案二:使用webpack-bundle-analyzer
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档