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

相关推荐
提娜米苏11 分钟前
Bash Shell脚本学习——唇读数据集格式修复脚本
开发语言·学习·bash
青衫码上行1 小时前
【Java Web学习 | 第十篇】JavaScript(4) 对象
java·开发语言·前端·javascript·学习
阿珊和她的猫2 小时前
WebRTC 技术深度解析:实时通信的未来引擎
前端·webpack·node.js·webrtc
淮北4942 小时前
linux系统学习(10.shell基础)
linux·运维·服务器·学习
zhangfeng11332 小时前
学习文本大模型的学习路径,各种大模型对比和分类以及各个大模型对硬件的要求,开源大模型有哪些
学习·分类·开源
青衫码上行2 小时前
【Java Web学习 | 第九篇】JavaScript(3) 数组+函数
java·开发语言·前端·javascript·学习
峥嵘life4 小时前
Android16 更新fastboot版本解决fastbootd模式识别不到设备问题
android·学习
HalvmånEver4 小时前
Linux:基础开发工具(一)
linux·运维·服务器·开发语言·学习·进阶学习
d111111111d4 小时前
STM32外设学习-串口数据包笔记-(数据包的了解)
笔记·stm32·单片机·嵌入式硬件·学习
开开心心_Every8 小时前
专业视频修复软件,简单操作效果好
学习·elasticsearch·pdf·excel·音视频·memcache·1024程序员节