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

相关推荐
九千七526几秒前
sklearn学习(5)线性回归和逻辑回归
人工智能·学习·机器学习·逻辑回归·线性回归·sklearn
职业码农NO.1几秒前
架构模型:企业架构、技术架构、C4模型、TOGAF、互联网模型优缺点分析与学习
学习·架构·系统架构·软件工程
走在路上的菜鸟4 分钟前
Android学Dart学习笔记第九节 Patterns
android·笔记·学习·flutter
代码游侠28 分钟前
学习笔记——栈
开发语言·数据结构·笔记·学习·算法
光头程序员1 小时前
学习笔记——vite 打包构建优化之tree shaking
笔记·学习
SVIP111591 小时前
webpack入门 精细版
前端·webpack·node.js
走在路上的菜鸟1 小时前
Android学Dart学习笔记第十一节 分支
android·笔记·学习·flutter
richxu202510012 小时前
嵌入式学习之路>单片机核心原理>(3)定时器
单片机·嵌入式硬件·学习
shenghaide_jiahu2 小时前
数学分析简明教程——5.5
学习
拾贰_C2 小时前
【ML|DL |python|pytorch|】基础学习
pytorch·python·学习