Webpack学习笔记(4)

1.缓存

可以通过命中缓存降低网络流量,是网站加站速度更快。

然而在部署新版本时,不更改资源的文件名,浏览器可能认为你没有更新,所以会使用缓存版本。

由于缓存存在,获取新的代码成为问题。

接下来将配置webpack使得生成的文件会被缓存,并且变化时又能请求到新的文件。

如果文件内容改变了,文件名没变,浏览器会使用缓存,所以通过修改output的filename可以实现根据文件内容变化同时修改文件名。

在webpack.config.js修改filename配置:

2.缓存第三方库

将第三方库(如loadsh等)打包缓存到浏览器,自己的代码发生变化时才去更新,第三方代码始终使用缓存,所以就配置单独打包第三方库缓存到浏览器,利用client的长效缓存机制,命中缓存来消除请求,并减少向server获取资源,保证client代码和server代码版本一致。下面来举例实现

第三方库的特点是都在node_modules文件夹下。

在webpack.config.js配置splitChunks:

可以看到第三方库被打包为一个vendors.xxx.js文件:

将js文件放到单独的scripts文件夹下,修改一下出口文件filename即可:

相关推荐
DuHz3 小时前
我的技术博客年度总结
学习
im_AMBER5 小时前
Leetcode 93 找出临界点之间的最小和最大距离
c++·笔记·学习·算法·leetcode
阿珊和她的猫5 小时前
Webpack常用配置项详解
前端·webpack·node.js
+VX:Fegn08959 小时前
计算机毕业设计|基于springboot + vue在线教育学习系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·学习·课程设计
0和1的舞者10 小时前
Python函数与列表元组全解析
python·学习·学习方法·知识
航Hang*10 小时前
第九章:网络系统建设与运维(高级)—— 无线局域网
网络·笔记·学习·华为·ensp·交换机
赵长辉10 小时前
AGI-rag学习: 实现了一个混合搜索系统,结合了 BM25 和 密集向量检索两种方法 【20251016课复习】
python·学习·agi
四谎真好看11 小时前
MySQL 学习笔记(运维篇2)
数据库·笔记·学习·mysql·学习笔记
好奇龙猫11 小时前
【大学院-筆記試験練習:数据库(データベース問題訓練) と 软件工程(ソフトウェア)(6)】
学习
d111111111d11 小时前
STM32如何通过寄存器直接禁止EXTI0中断
笔记·stm32·单片机·嵌入式硬件·学习