什么是gulp中的rev-manifest.json文件?

时间:2019-03-15 09:09:17

标签: gulp

我是Gulp的新手。谁能解释一下gulp中的rev-manifest.json文件是什么?

1 个答案:

答案 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文件来完成此操作

希望这很清楚。或者,如果不是,请随时提出,我将进行编辑和澄清