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

相关推荐
F_Director23 分钟前
Webpack DLL动态链接库的应用和思考
前端·webpack·性能优化
奋斗的牛马33 分钟前
硬件基础知识-电容(一)
单片机·嵌入式硬件·学习·fpga开发·信息与通信
Pluchon33 分钟前
硅基计划6.0 JavaEE 叁 文件IO
java·学习·java-ee·文件操作·io流
Nuyoah11klay1 小时前
华清远见25072班单片机基础学习day1
单片机·嵌入式硬件·学习
大白的编程日记.1 小时前
【高阶数据结构学习笔记】高阶数据结构之B树B+树B*树
数据结构·笔记·学习
武陵悭臾2 小时前
Python应用开发学习:Pygame中实现切换开关及鼠标拖动连续填充功能
python·学习·程序人生·个人开发·pygame
inside8022 小时前
11月10日学习总结--numpy的基本操作
学习·numpy
想暴富,学技术2 小时前
AI提示词学习基础(一)
人工智能·学习
创业之路&下一个五年3 小时前
系统分析师,我又考后总结了。
学习·总结
ヾChen3 小时前
MySQL——增删改查操作
数据库·sql·物联网·学习·mysql