我一直在开发一个系统,每次我更新公用文件夹上的任何内容时,每台计算机都必须始终清除缓存才能生效。
我只在 js 和 css 文件的公共(public)文件夹中直接编码。当我将它推送到我的 git 存储库并通过 ssh 将它拉到我们的共享主机之后,我也通过 ssh 将它复制到 public_html 文件夹,所有客户端计算机仍然需要手动清除它们的缓存以使新的公共(public)文件生效.我一直在研究一些 laravel mix,但我仍然不确定如何在现场托管中实际使用它。
我不确定此时缓存清除是否是正确的术语,但我希望每次更新系统时我的客户端计算机都使用最新的 Assets 。
最佳答案
另一种快速而肮脏的缓存清除方法是使用文件的最后修改时间戳作为版本字符串。这样,如果您更新文件,时间戳也会更改。 PHP 有 filemtime方法。
我一直在 Wordpress 中使用它,但在 Laravel Blade 模板中它看起来像这样:
<script src="{{ asset('js/scripts.js') }}?ver={{ filemtime(public_path('js/scripts.js')) }}"></script>
我建议去 built-in Laravel way因为它具有许多其他优点。但是这个技巧的原理在许多其他情况下也很有用。
关于javascript - 使用 Laravel 缓存清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56352019/