Javascript - 在部署时加载新缓存

时间:2017-05-22 15:26:22

标签: javascript php css caching

我想在每次部署页面时加载我的javascript,css,html等新版本。我看到我可以将?<version>添加到脚本的src链接中,还有其他新的/更可靠的方法吗?

更新我正在寻找类似变量的内容,如果加载新文件而不是手动重命名文件,我可以自动更新URL。这可能吗?

2 个答案:

答案 0 :(得分:1)

将资源的最后编辑时间添加到资源元素的src / href中,或者如果您要链接到可能包含的聚合脚本,则添加所有相关时间的MD5子目录等

http://verens.com/2008/04/09/javascript-cache-problem-solved/

答案 1 :(得分:1)

我认为优雅的方法是使用gulpfile重命名你的* .css和* .js文件名,以在最后包含文件内容的哈希值。

1)Gulp库:处理文件名
https://github.com/sindresorhus/gulp-rev 它的作用示例:将文件名unicorn.css转换为unicorn-d41d8cd98f.css

2)Gulp库:处理index.html include
要注入css和js,你可以使用另一个gulp librairie: https://www.npmjs.com/package/gulp-inject 这个允许您使用文件目录在index.html中自动包含css和js。

3)你需要做什么 你所要做的就是创建一个使用这两个库的gulp任务。我发誓不要努力。我没有足够的时间进行演示(我将在接下来的几天内完成演示)。

此解决方案有两个优点:

  • 仅在用户端重新加载已更改的文件
  • 您不需要在项目中使用外部js库, 这会增加失败的风险。