前端静态资源版本管理:文件指纹与增量更新
为什么版本管理是缓存的前提 《浏览器缓存完全指南》 里反复提到一句话—— “文件名带 hash 的资源可以放心设一年强缓存” 。 但问题来了:hash 怎么生成?怎么保证改一个文件只更新一个文件?要不要给每个图片也打 hash?CDN 缓存怎么刷新? 这些就是前端静态资源版本管理要回答的问题。 Content Hash:版本管理的基石 什么是 content
分类 前端 下的文章。
4 篇文章 个分类 个标签
为什么版本管理是缓存的前提 《浏览器缓存完全指南》 里反复提到一句话—— “文件名带 hash 的资源可以放心设一年强缓存” 。 但问题来了:hash 怎么生成?怎么保证改一个文件只更新一个文件?要不要给每个图片也打 hash?CDN 缓存怎么刷新? 这些就是前端静态资源版本管理要回答的问题。 Content Hash:版本管理的基石 什么是 content
写在前面 如果你用过 Vue,大概记得那种感觉——在 data 里定义个变量,模板里绑上去,改了就变了。像变魔术。 但魔术师不会告诉你,Vue 2 和 Vue 3 的「魔术」根本不是同一套手法。 Vue 2 用的是一套老派但优雅的方案: Object.defineProperty 。Vue 3 换了一套更底层、更暴力的方案: Proxy 。 这不是简单的 A
NVM 到底是什么 NVM(Node Version Manager)就是 Node.js 的版本管理工具。 你把它理解成一个"Node 版本切换器"就行。装一个 nvm,你就可以在同一台电脑上装十几个不同版本的 Node,随时切,互不干扰。 nvm use 8 → node -v 变成 v8.x nvm use 18 → node -v
缓存这东西,到底难在哪 做前端的人,迟早会被缓存坑一回。 最常见的情节:改完代码上线,用户打开页面还是旧的。清缓存、硬刷新、隐身模式,一顿操作猛如虎,一看页面还是个二百五。 反过来也有问题——明明资源没变,用户每次打开都重新下载,页面加载慢得像在拨号上网。 这个问题背后的关键就是: 浏览器缓存策略 。 理解它并不难,但你得搞清楚两件事—— 强制缓存 和 协商