webpack 优化方式

量化webpack打包事件

  • 通过speed-measure-webpack-plugin进行插件、loader等的速度测量

在这里插入图片描述

缩小打包范围

  • 通过oneof、exclude、include缩小打包范围

去除开发阶段不需要打包配置

  • loader:如postcss-loader
  • babel::开发阶段可以适当的把target调高到es2015

使用缓存

  • webpack5通过cache配置开启缓存,生成.cache目录存放文件,极大得改善二次构建速度
cache:{
	type:'filesystem',
	buildDependencies:{
		config:[__filename]
	}
}
  • babel缓存:
loader:"babel-loader",
options:{
	cacheDirectory:true,
	//不压缩缓存文件,进一步提升构建速度
	cacheCompression:false
}
  • cache-loader:webpack4中提供的一个持久化缓存的loader
{
        test: /\.js$/,
        use: [
          'cache-loader',
          'thread-loader',
          'babel-loader'
        ],
},

多线程打包

  • thread-loader:每个worker都是一个单独有600ms限制的node进程,跨进程的上下文切换和数据传递也会存在性能消耗,建议对高开销的loader使用
{
        test: /\.js$/,
        use: [
          'thread-loader',
          'babel-loader'
        ],
      }
}

devtool(sourcemap)

  • 开发阶段可采用:eval-cheap-module-source-map

替换babel-loader

  • 采用速度更快的esbuild-loader、swc-loader,在兼容性上swc-loader要更好
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
webpack 是一个非常强大的前端打包工具,但是在项目逐渐复杂的情况下,构建速度和打包输出的体积很容易成为瓶颈。以下是一些 webpack 优化的方法: 1. 使用高版本的 webpack:每个版本的 webpack 性能都会有所提升,升级到最新版本是一个很不错的优化方案。 2. 使用 webpack-bundle-analyzer:该插件可以帮助你分析打包出来的代码大小和依赖关系,从而更好地优化代码。 3. 使用 DllPlugin 和 DllReferencePlugin:这两个插件可以将一些基础库(如 React、Vue 等)分离出来,从而减少每次打包的时间。 4. 开启多进程/多实例构建:使用 webpack-parallel-uglify-plugin 或 thread-loader 插件,可以让 webpack 开启多个进程或者多个实例来处理任务,从而提升构建速度。 5. 使用 Tree Shaking:Tree Shaking 是一个很强大的工具,可以帮助我们删除掉不需要的代码,减小打包后的文件大小。 6. 合理使用缓存:使用 cache-loader 或者 hard-source-webpack-plugin 插件可以让 webpack 更好地利用缓存,从而提升构建速度。 7. 使用 code splitting:使用 webpack 的 code splitting 功能,可以让我们将代码分成多个块,从而提升加载速度和并行加载能力。 8. 按需加载:按需加载可以让我们只加载需要的代码,减少不必要的网络请求和加载时间。 以上是一些常见的 webpack 优化方法,当然还有很多其他的方法,具体要根据项目的实际情况进行优化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值