IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> webpack5 之 优化效率工具 ( 进度条、速度分析 、打包后提交分析) -> 正文阅读

[JavaScript知识库]webpack5 之 优化效率工具 ( 进度条、速度分析 、打包后提交分析)

1:webpack5 之 优化效率工具 进度条

方式1

package.json

  "devDependencies": {
    "progress-bar-webpack-plugin": "^2.1.0"
  },

webpack.base.js

const path = require('path')
// 进度条
const ProgressBarPlugin = require('progress-bar-webpack-plugin')
module.exports = {
  entry: {
    main: './src/main.js'
  },
  output: {
    publicPath: '',
    path: path.resolve(__dirname, '../dist'),
    filename: 'js/[name]_[contenthash:6].js',
  },
  plugins: [
    // 进度条
    new ProgressBarPlugin()
  ]
}

效果

在这里插入图片描述

方式2与3 ( 推荐 方式2 )

package.json

  "devDependencies": {
    "webpackbar": "^5.0.2"
  },

webpack.base.js

const path = require('path')

// 进度条 方式1
// const ProgressBarPlugin = require('progress-bar-webpack-plugin')
// 方式2
// const {
//   ProgressPlugin
// } = require("webpack")
// 方式3
const WebpackBar = require('webpackbar');

module.exports = {
  entry: {
    main: './src/main.js'
  },
  output: {
    publicPath: '',
    path: path.resolve(__dirname, '../dist'),
    filename: 'js/[name]_[contenthash:6].js',
  },
  plugins: [
    // 进度条 方式1
    // new ProgressBarPlugin()
    // 方式2
    // new ProgressPlugin({
    //   activeModules: true, // 默认false,显示活动模块计数和一个活动模块正在进行消息。
    //   entries: true, // 默认true,显示正在进行的条目计数消息。
    //   modules: false, // 默认true,显示正在进行的模块计数消息。
    //   modulesCount: 5000, // 默认5000,开始时的最小模块数。PS:modules启用属性时生效。
    //   profile: false, // 默认false,告诉ProgressPlugin为进度步骤收集配置文件数据。
    //   dependencies: false, // 默认true,显示正在进行的依赖项计数消息。
    //   dependenciesCount: 10000, // 默认10000,开始时的最小依赖项计数。PS:dependencies启用属性时生效。
    // })
    // 方式3
    new WebpackBar({
      // color: "#85d", // 默认green,进度条颜色支持HEX
      basic: false, // 默认true,启用一个简单的日志报告器
      profile: false, // 默认false,启用探查器。
    })
  ]
}

效果

  • 方式2
    在这里插入图片描述
    在这里插入图片描述

2:webpack5 之 优化效率工具 速度分析

package.json

  "devDependencies": {
    "speed-measure-webpack-plugin": "^1.5.0"
  },

webpack.dev.js

const merge = require('webpack-merge')
const baseConfig = require('./webpack.base');
// 编译速度分析
const SpeedMeasurePlugin = require("speed-measure-webpack-plugin");
const smp = new SpeedMeasurePlugin();
const devPlugingConfig = smp.wrap({

})
const devConfig = {
  mode: 'development',
  devtool: 'eval-cheap-module-source-map', //开发环境配置 定位错误根源
  // dev缓存
  cache: {
    type: 'memory'
  },
  devServer: {
    port: '3001', // 默认是 8080
    hot: true,
    compress: true, // 是否启用 gzip 压缩
    proxy: {
      '/api': {
        target: 'http://0.0.0.0:80',
        pathRewrite: {
          '/api': '',
        },
      },
    },
  }
}
module.exports = merge(baseConfig, devConfig, devPlugingConfig)

npm run dev 效果

在这里插入图片描述
在这里插入图片描述

3:webpack5 之 优化效率工具 打包后提交分析

package.json

  "devDependencies": {
    "webpack-bundle-analyzer": "^4.6.1"
  },

webpack.pro.js

const path = require('path')
const merge = require('webpack-merge');
const baseConfig = require('./webpack.base');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; // 打包后 体积分析

const proConfig = {
  mode: 'production',
  devtool: 'hidden-source-map',
  cache: {
    type: 'filesystem',
    buildDependencies: {
      config: [__filename]
    }
  },
  plugins: [
    // 打包体积分析
    new BundleAnalyzerPlugin()
  ]

}

module.exports = merge(baseConfig, proConfig)

打包后体积分析 ( npm run build效果 自动开启一个网站 )

在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:02:48  更:2022-09-04 01:03:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/14 21:29:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码