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

Ana*_*and 0 gulp

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

Ami*_*mir 6

计算机科学中只有两件难事:缓存失效和命名。

——菲尔·卡尔顿


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文件来执行此操作。

希望它足够清楚。或者如果不是,请随时提问,我会编辑和澄清更多