在Laravel中清理视图缓存时,浏览器仍然显示缓存的文件

时间:2019-10-29 14:44:32

标签: php laravel caching browser-cache

在删除/ storage / framework / view文件之后,在清除浏览器缓存之前,我仍然会看到视图的缓存版本。我知道可以设置“ Cache-control”标头,但是有没有更优雅的方法来自动告诉浏览器视图已更改?我们对js / css文件进行版本控制的方式与此相同。

1 个答案:

答案 0 :(得分:0)

使用此路由,您可以清除所有缓存:

Route::get('/clear-cache', function() {
    Artisan::call('cache:clear');
    echo '<h1>Cache facade value cleared</h1>';

    Artisan::call('route:clear');
    echo '<h1>Route cache cleared</h1>';

    Artisan::call('view:clear');
    echo '<h1>View cache cleared</h1>';

    Artisan::call('config:cache');
    return '<h1>Clear Config cleared</h1>';
});

您可以控制浏览器标题中的缓存:

return view('some_template')->header('Cache-Control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0');