webpack优化篇(四十六):充分利用缓存提升二次构建速度

简介: webpack优化篇(四十六):充分利用缓存提升二次构建速度

说明

玩转 webpack 学习笔记



缓存

目的:提升二次构建速度


缓存思路:

  • babel-loader 开启缓存
  • terser-webpack-plugin 开启缓存
  • 使用 cache-loader 或者 hard-source-webpack-plugin



实战


先不开启 babel-loader 缓存

6d0eb45d7a8c4e75bd7583e30d543088.png

运行 npm run build

c3697cb457654021ae791ffce369cc02.png




开启 babel-loader 缓存

new HappyPack({
    // 3) re-add the loaders you replaced above in #1:
    loaders: ['babel-loader?cacheDirectory=true']
})


第一运行 npm run build 之后,.cache 目录下会生成一个 babel-loader 的文件夹

b5a85488df2e4111af74e6ea5d5628c7.png


当我们再次运行的时候:发现还有有点效果,这个还是跟模块有关,越多效果越明显

63fe390b121b42c4bd161fb4cc353fef.png


开启 terser-webpack-plugin 开启缓存

optimization: {
    minimizer: [
        new TerserPlugin({
            parallel: true,
            cache: true
        }),
    ],
},


运行之后 npm run build 之后,.cache 目录下会生成一个 terser-webpack-plugin 的文件夹


06577034e63b42568ef389a323bc6f40.png


我们可以看一下打包效果:可以看到提升的效果还是很明显的


c4c30e7b7d8b44509c5ef52dcf7149ab.png


使用 hard-source-webpack-plugin 插件

github:https://github.com/mzgoddard/hard-source-webpack-plugin

a7ff73d7865543fda55ac0fd305f6455.png


先安装依赖:

npm install --save-dev hard-source-webpack-plugin


a4a061b31c3e4c7ca1c68788cc34fcb8.png


使用插件:


const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
plugins: [
  new HardSourceWebpackPlugin()
]


运行 npm run build 之后,.cache 目录下会生成一个 hard-source 的文件夹

b994550c6dfd446891a2dbb876b254c4.png


我们可以发现速度很快。

2ff4d2e3ff3447e19077992b78e99941.png

目录
相关文章
|
2天前
|
存储 缓存 NoSQL
redis缓存优化
采用获取一次缓存,如果为空的情况,获取分布式锁,让一个线程去重建缓存,另外的线程未获取到锁的情况,休眠短时间,然后再自旋获取缓存。
11 0
|
17天前
|
缓存 JavaScript 前端开发
探讨如何通过一系列优化策略来提升TypeScript与Webpack的构建性能。
【6月更文挑战第11天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(如关闭不必要的类型检查)和webpack.config.js选项,启用Webpack缓存,实现增量构建,代码拆分和懒加载。通过这些方法,可以提升构建速度,提高开发效率。
52 0
|
1天前
|
存储 设计模式 缓存
Java中的缓存设计与优化策略
Java中的缓存设计与优化策略
|
5天前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
21 5
|
16天前
|
缓存 前端开发 JavaScript
Webpack作为模块打包器,为前端项目提供了高度灵活和可配置的构建流程
【6月更文挑战第12天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(如关闭不必要的类型检查)和webpack.config.js选项,启用Webpack缓存,实现增量构建,代码拆分和懒加载。这些方法能提升构建速度,提高开发效率。
31 3
|
28天前
|
缓存 JavaScript 前端开发
Vue 3的事件监听缓存如何优化性能?
【5月更文挑战第31天】Vue 3的事件监听缓存如何优化性能?
35 1
|
1月前
|
存储 缓存 监控
利用Redis构建高性能的缓存系统
在现代Web应用中,性能优化是提升用户体验和响应速度的关键。Redis作为一款开源的内存数据结构存储系统,因其出色的性能、丰富的数据结构和灵活的使用方式,成为了构建高性能缓存系统的首选工具。本文将探讨Redis在缓存系统中的应用,分析其优势,并通过实例展示如何结合Redis构建高效、可靠的缓存系统,以应对高并发、大数据量等挑战。
|
15天前
|
存储 缓存 NoSQL
缓存:热点key重建优化。
缓存:热点key重建优化。
12 0
|
21天前
|
缓存 安全 前端开发
(转)浅谈tomcat优化(内存,并发,缓存,安全,网络,系统等)
(转)浅谈tomcat优化(内存,并发,缓存,安全,网络,系统等)
|
1月前
|
存储 缓存 监控
利用Redis构建高性能的缓存系统
在现今高负载、高并发的互联网应用中,缓存系统的重要性不言而喻。Redis,作为一款开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理。本文将深入探讨Redis的核心特性,以及如何利用Redis构建高性能的缓存系统,并通过实际案例展示Redis在提升系统性能方面的巨大潜力。