我是Gulp的新手。谁能解释什么是gazp中的rev-manifest.json
文件?
计算机科学中只有两件难事:缓存失效和命名事物。
- 菲尔卡尔顿
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
文件来做到这一点。
希望它足够清楚。或者如果不是,请随意提问,我将编辑并澄清更多内容