阅读(277) (14)

Laravel 8 版本管理 / 缓存销毁

2021-06-29 14:50:07 更新

许多开发者在他们编译后的资源添加时间戳或唯一令牌作后缀,强制浏览器加载新的资源,以替换旧的代码副本。Mix 可以使用 version 方法替你处理它们。

version 方法自动在所有编译后的文件名后追加唯一的哈希值,从而实现更方便的缓存销毁:

mix.js('resources/js/app.js', 'public/js')
    .version(); 

在生成版本化文件后,你不会知道确切的文件名。因此,你需要在 views 中使用 Laravel 的全局 mix 函数载入相应的哈希资源。 mix 函数自动判断哈希文件的当前文件名:

<script src="{{ mix('/js/app.js') }}"></script>

通常在开发阶段不需要版本化文件,你可以仅在运行 npm run production 时执行版本化处理:

mix.js('resources/js/app.js', 'public/js');

if (mix.inProduction()) {
    mix.version();
}