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

Joh*_*nes 0 php caching google-chrome laravel laravel-artisan

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

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

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

  • 浏览器:Chrome 43.0.2357.52
  • 网络服务器:我正在使用 artisan 内置网络服务器

Dwi*_*ght 6

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

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

您最好让您的 Web 服务器处理资产的缓存,而不是将这些工作放在 Laravel 上。304与加载 PHP、引导框架然后确定适当的响应相比,Web 服务器发回静态资产(或响应)要快得多。