美文网首页vue
vue 项目打包分析和优化

vue 项目打包分析和优化

作者: jia林 | 来源:发表于2022-04-03 23:16 被阅读0次

打包分析工具(webpack-bundle-analyzer)

分析 Bundle 由什么模块组成
分析什么模块占据了比较大的体积
分析是否有什么错误的模块被打包了

  • 未优化前的代码2.85M


    image.png

安装及配置

  • npm install -D webpack-bundle-analyzer
  • 配置环境变量 .env.analyze
NODE_ENV = production
ANALYZE_MODE = "analyze"
  • vue.config.js 里进行配置
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
// 环境变量的引入
const isAnalyzeMode = !!process.env.ANALYZE_MODE
module.exports = { 
   configureWebpack: config => {
     if (isAnalyzeMode) {
        config.plugins.push(
          new BundleAnalyzerPlugin({
            // 生成静态文件
            analyzerMode: 'static',
        })
      )
    }
    config.plugins.push(
      new webpack.IgnorePlugin({
        resourceRegExp: /^\.\/locale$/,
        contextRegExp: /moment$/,
      })
    )
  }
}
  • package.json 里添加一个命令
 "scripts": { 
        ...
        "build:analyze": "vue-cli-service build --mode analyze",
  }

  • 启动 npm run build:analyze 自动打开


    image.png

根据分析图开始优化

1.检查是否有没有用的模块是否打包到了最终的文件中
2.检查是否有重复加载的模块,或者是功能大体相同的模块。

  • loash和loash-es重复,可删除其中一个
image.png

3.按需加载UI框架,使用到什么组件加载什么组件
4.使用 SplitChunksPlugin(https://webpack.docschina.org/plugins/split-chunks-plugin/)分割第三方库

// 在vue.config.js 里进行配置
  config.optimization.splitChunks = {
      maxInitialRequests: Infinity,
      minSize: 300 * 1024,
      chunks: 'all',
      cacheGroups: {
        antVendor: {
          test: /[\\/]node_modules[\\/]/,
          name (module) {
          
            const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1]
            return `npm.${packageName.replace('@', '')}`
          }
        },
      }
    }
  1. 使用import 进行路由懒加载
// route文件配置component: () => import(/* webpackChunkName: "editor" */ '../views/Editor.vue'),
 {
      path: '/editor/:id',
      name: 'editor',
      component: () => import(/* webpackChunkName: "editor" */ '../views/Editor.vue'),
      meta: { requiredLogin: true, title: '编辑我的设计' }
    },

最终成果

  • 经过一系列操作后,代码1.61M


    image.png

相关文章

  • vue项目优化

    vue 项目优化 项目打包体积优化 通常vue项目通过webpack打包后,会出现vendor包的体积过大的情况,...

  • vue 项目打包分析和优化

    打包分析工具(webpack-bundle-analyzer) 分析 Bundle 由什么模块组成分析什么模块占据...

  • Vue项目打包及测试注意事项

    Vue项目依赖node服务和webpack进行打包,以pht-vue-simple项目为例分析项目打包配置及注意事...

  • Vue 的打包优化之路

    Vue的打包优化之路 场景分析 一个结构简单 依赖蛮多的可视化项目,用到的库有 vue + vue-router ...

  • 前端优化

    前端优化 待优化项分析 打包项目资源分析 使用现在做主流的框架进行开发,大多都要经历打包这一过程,将核心代码和引入...

  • Vue 网站首页加载优化

    Vue 网站首页加载优化 本篇主要讲解 Vue项目打包后 vendor.js 文件很大 如何对它进行优化 以及开启...

  • 博客网站首页加载优化

    Vue 网站首页加载优化 本篇主要讲解 Vue项目打包后 vendor.js 文件很大 如何对它进行优化 以及开启...

  • vue项目打包优化

    前言:当我们对项目进行打包时,打包后我们可能会发现打的包非常大,我们可以使用路由懒加载的方式,若包仍过大,我们可以...

  • Vue 项目打包优化

    一、路由懒加载:分割代码块 二、webpack 打包生成 .gz 文件(gzip压缩) 三、CDN 四、去掉所有的...

  • Vue项目打包优化

    目的 缩小项目打包体积,提高页面加载速度 分析产生效果慢的原因 我们先来分析下前端加载速度慢原因 首先安装webp...

网友评论

    本文标题:vue 项目打包分析和优化

    本文链接:https://www.haomeiwen.com/subject/czhqsrtx.html