通过构建Web应用程序的教程,建议始终在所有.css和.js文件中附加查询字符串“?v = 1”以防止缓存。
这是'最佳做法'吗?
是否只在生产开发期间使用查询字符串?
答案 0 :(得分:2)
我认为这很好,但就最佳做法而言,这是非常主观的。
最受欢迎,使用最广泛的CMS使用此方法,因此我认为这是最佳选择。
人们不理解的是,这种方法并不是向浏览器发出信号的最简单方法,即该文件可以缓存,但只有在版本发生变化时才会被回收。
对第一个问题的简短回答,是。
至于第二个问题“生产发展”是矛盾的。哪个是生产或开发?
答案 1 :(得分:1)
如果您在服务器端执行某些操作,则在文件更改时阻止缓存非常容易:
PHP:
<script src="<?= $file.’?’.filemtime($file); ?>">
的node.js
res.write('<script src="' + file + '?' + new Date(fs.statSync(file).mtime).getTime());
这会将修改后的时间戳附加到文件中,因此它只会在文件被修改时阻止缓存。