laravel 5 - 启用本地资产文件缓存

laravel 5 - enable caching of local asset files

我目前正在使用 Laravel 5 开发应用程序,我 运行 遇到了以下问题:

例如,当我包含来自外部服务器的 .js 文件时,脚本加载时显示 304 未修改 - 这很好。根据 chrome 的网络选项卡,加载时间为 146 毫秒。 当我使用 {{ asset('path to asset') }} 包含本地资产时,我总是得到 200,并且加载文件需要相当长的时间(大约 800 毫秒)。

我如何设法缓存资产文件?我猜是浏览器或网络服务器的问题。

Artisan 服务器不适用于生产用途 - 它只是一个开发服务器。它不缓存,也不是故意的。您在开发时不希望缓存,因为这会阻止您的更改进入浏览器。

当您在生产中使用实际服务器(如 Apache 或 Nginx)时,它应该为您处理缓存。它们都非常灵活,并且有大量的配置选项来缓存静态资产。值得一看 HTML 5 Boilerplate repo 上那些 Web 服务器的样板配置,因为它们为您提供了许多开箱即用的合理设置。

您最好让您的 Web 服务器处理资产的缓存,而不是将这项工作交给 Laravel。 Web 服务器发回静态资产(或 304 响应)比加载 PHP、bootstrap 框架然后确定适当的回应。