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

相关推荐
wdfk_prog2 分钟前
[Linux]学习笔记系列 -- [fs]open
linux·笔记·学习
wdfk_prog4 分钟前
[Linux]学习笔记系列 -- [fs]nsfs
linux·笔记·学习
手揽回忆怎么睡5 分钟前
Streamlit学习笔记2
笔记·学习
军军君011 小时前
Three.js基础功能学习五:雾与渲染目标
开发语言·前端·javascript·学习·3d·前端框架·three
charlie1145141911 小时前
FreeRTOS:软件定时器(Software Timers)与时间管理
开发语言·笔记·学习·freertos·实时操作系统·工程
行业探路者1 小时前
如何利用二维码提升标牌标识实用性和用户体验?
学习·音视频·语音识别·二维码·设备巡检
北岛寒沫1 小时前
北京大学国家发展研究院 经济学辅修 经济学原理课程笔记(第十四课 寡头)
经验分享·笔记·学习
深蓝海拓2 小时前
PySide6从0开始学习的笔记(二十一) 使用loadUi直接加载.ui文件
笔记·python·qt·学习·ui·pyqt
charlie1145141912 小时前
FreeRTOS: 信号量(Semaphores)、互斥量(Mutex)与优先级继承
开发语言·笔记·学习·c·freertos·实时操作系统
Stanford_11062 小时前
【2026新年启程】学习之路,探索之路,技术之路,成长之路……都与你同行!!!
前端·c++·学习·微信小程序·排序算法·微信开放平台