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

相关推荐
二川bro4 小时前
多模态AI开发:Python实现跨模态学习
人工智能·python·学习
石像鬼₧魂石4 小时前
Netcat,网络瑞士军刀(新手学习备用)
学习
todoitbo5 小时前
基于 DevUI MateChat 搭建前端编程学习智能助手:从痛点到解决方案
前端·学习·ai·状态模式·devui·matechat
醉方休6 小时前
Webpack loader 的执行机制
前端·webpack·rust
Ma0407137 小时前
【机器学习】监督学习、无监督学习、半监督学习、自监督学习、弱监督学习、强化学习
人工智能·学习·机器学习
小熊officer7 小时前
Nginx学习
运维·学习·nginx
秋邱8 小时前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
Three~stone8 小时前
Matlab2025b的安装教程(附安装包和密钥破解文件)
学习·mysql·持续部署
爱学习的大牛1238 小时前
如何系统学习网络渗透测试:从入门到精通的完整指南
网络·学习
落子摘星9 小时前
suricata学习杂记(一)
学习·modbus·suricata·pdu