我是Gulp的新手。谁能解释一下gulp中的rev-manifest.json
文件是什么?
答案 0 :(得分:0)
计算机科学中只有两件难事:缓存无效和命名。
-菲尔·卡尔顿
Gulp有一个插件gulp-rev,该插件用于将文件内容的哈希附加到其名称的末尾,因此,script.js
的名称将类似于script-134cfcc203.js
。
rev-manifest.json
是存储每个文件的原始名称和当前名称的映射。
这样做是为了使缓存无效。就是这样的:
您将服务器(nginx,apache或其他)上的资源(样式,脚本等)的TTL(生存时间)设置为无穷大,这意味着您要告诉客户的浏览器他们应该永远缓存资源。
然后,当您更改文件内容(例如script.js
)时,因为将其哈希值附加到其名称之后,名称就会更改。然后,当用户的浏览器请求您的页面时,他们会将其视为一个完整的新文件,因此被迫重新下载它。但是,除非您不更改文件的内容,否则他们永远不会重新下载文件,因此可以加快页面的加载速度。
尽管请注意,您还需要另一个插件gulp-rev-rewrite,以搜索html文件并自动将script.js
替换为其新名称,并且该插件使用rev-manifest.json
文件来完成此操作
希望这很清楚。或者,如果不是,请随时提出,我将进行编辑和澄清