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

相关推荐
是呆瓜呀33 分钟前
12.13-12.21 刷题汇总
学习
Hacker_LaoYi1 小时前
网络协议栈学习(一)socket通信实例
网络·网络协议·学习
Sunsets_Red1 小时前
CF1548A Web of Lies 题解
c++·学习·算法·信息与通信
李雨非-19期-河北工职大1 小时前
复盘:“辩论赛”复盘
学习
千天夜2 小时前
YOLO系列正传(三)神经网络的反向传播(back propagation)与公式推导
人工智能·python·深度学习·神经网络·学习·yolo·卷积神经网络
一只大马猴呀2 小时前
Spring IOC 和 AOP的学习笔记
笔记·学习·spring
啥都想学的又啥都不会的研究生2 小时前
高性能MySQL-查询性能优化
数据库·笔记·学习·mysql·面试·性能优化
思麟呀3 小时前
在C语言基础上的C++第一章(基础的输入输出和动态内存开辟)
c语言·c++·学习
无所谓จุ๊บ4 小时前
VTK知识学习(27)- 图像基本操作(二)
学习·vtk
百流4 小时前
scala基础学习(数据类型)-字符串
开发语言·学习·scala