我正在开发我的第一个网站,当我更新文件(将最新版本上传到服务器)时,例如样式表或.php
文件,我尝试加载在上传/更改中途的页面,我得到一个空白屏幕或破碎的CSS。有时必须清除缓存才能加载正确的样式表。
在向用户推送更新时,如何防止这种情况发生?
答案 0 :(得分:7)
执行此操作的一种方法是使用"缓存清除"。每当您对.css
或.js
文件进行更改时,都会重命名该文件。
style_v1.0.css // Release 1.0
style_v1.1.css // Release 1.1
style_v2.0.css // Release 2.0
或者在文件名后执行:
style.css?v=1.0 // Release 1.0
style.css?v=1.1 // Release 1.1
style.css?v=2.0 // Release 2.0
答案 1 :(得分:0)
关于.php文件更新,用户应该只从更新的文件中接收新的响应。 关于CSS,我建议通过jQuery尝试一些JavaScript。
无论哪种方式,最好不要在网站的实时版本上工作,而是在"沙盒"它的副本保存在本地计算机或服务器上的其他文件夹中,并且在您获得所需功能后,在晚上或当您的网站流量最小时上传文件。
答案 2 :(得分:0)
我们都去过那里并做到了这一点。虽然这个问题可能不适合Stack Overflow,但它有可能留在这里,其他人也会找到它。考虑到这一点,这里是我使用的示例工作流程和一些提示:
我在网站上工作时的典型工作流程如下:
develop
分支。git merge develop --no-ff -m "message"
答案 3 :(得分:0)
您还可以在文件名后附加时间戳,以便每次刷新时获得唯一文件
<script src="../assets/js/header.js?rndstr=<?php echo getCurrentTimeStamp();?>"></script>
function getCurrentTimeStamp(){
return date('Y-m-d G:i:s');
}