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即可:

相关推荐
hu1j27 分钟前
[HTB] 靶机学习(十二)Eureka
学习·安全·web安全·网络安全·云原生·eureka
搞机械的假程序猿33 分钟前
普中51单片机学习笔记-点亮第一个LED
笔记·学习·51单片机
菜鸟‍1 小时前
【论文学习】基于 Transformer 的图像分割模型
深度学习·学习·transformer
Han.miracle3 小时前
Java的多线程——多线程(3)线程安全
java·开发语言·jvm·学习·安全·线程·多线程
d111111111d3 小时前
STM32外设学习--TIM定时器--输入捕获---测频方法。
stm32·单片机·学习
学习_学习_再学习4 小时前
ffmpeg学习记录
学习·ffmpeg
im_AMBER5 小时前
算法笔记 10
笔记·学习·算法·leetcode
qzhqbb7 小时前
神经网络—— 学习与感知器
神经网络·学习
charlie11451419111 小时前
CSS笔记4:CSS:列表、边框、表格、背景、鼠标与常用长度单位
css·笔记·学习·css3·教程
✎ ﹏梦醒͜ღ҉繁华落℘15 小时前
FreeRTOS学习笔记(应用)-- 各种 信号量的应用场景
笔记·学习