Laravel 5 正在加载旧的 CSS
Posted
技术标签:
【中文标题】Laravel 5 正在加载旧的 CSS【英文标题】:Laravel 5 is loading old css 【发布时间】:2017-04-30 20:35:39 【问题描述】:我正在编辑位于 resources\assets\sass\app.css 中的 css,然后我运行 gulp watch 但似乎 laravel 忽略了我在 css 中所做的更改。
我尝试直接在 public\css\app.css 中编辑 css,但是当我在浏览器中查看我的页面时,样式仍然不起作用。
例如,我的页面背景颜色是白色的,但我将其更改为红色,我的页面在浏览器中的背景仍然是白色的。
当我在浏览器中尝试查看源代码并单击 ,背景颜色:#fff;
希望你明白我的意思。你对此有什么想法吗?
【问题讨论】:
您是否尝试过清除浏览器缓存并重新加载页面? refreshyourcache.com/en/home 清除浏览器缓存并重新加载页面。 【参考方案1】:您应该清除所有缓存。首先,清除视图缓存:
php artisan view:clear
php artisan cache:clear
然后清除浏览器缓存并重新加载页面。
【讨论】:
【参考方案2】:您应该通过 Laravel mix 中的版本控制来使用“cache busting”功能,以便为每个保存的新 .css 文件配置一个唯一的 ID。这样,所做的每一项更改都会强制浏览器获取最新版本的 css 文件。你甚至不需要硬刷新!
真的很容易实现。只需将version()
添加到您的组合中:
mix.js('resources/js/app.js', 'public/js')
.version();
然后使用 mix()
而不是 asset()
来引用您的 .js 或 .css 资产。
<script src=" mix('/js/app.js') "></script>
如果您在本地看到 css 缓存问题,那么对于您的网站用户来说,情况只会更糟,他们最终可能会看到各种过期/同步 css 文件的问题。
这是这个问题的解决方案,每个人都应该在生产环境中使用它。
【讨论】:
这是我在任何地方看到的对该功能最清晰、最简单的描述。在现有的 Laravel 项目上实施此更改只需几分钟。这对我们的测试环境也非常有用,这样我们的 QA 和业务审批用户就不会因为过时的 js 和 css 文件而出现幻像问题。【参考方案3】:尝试进行硬刷新。 Ctrl + F5 在 Windows 上我猜,在 Mac 上是 Cmd+Shift+R。
【讨论】:
Ctrl + Shift + R 也适用于 windows。【参考方案4】:您还可以使用 composer 刷新自动加载的文件并清除缓存。从项目根目录运行:
composer dump-autoload
和
composer clear-cache
这应该会删除您的旧 css 文件
【讨论】:
如果你对旧编译的 php 文件有问题,你也可以运行:php artisan clear-compiled
以上是关于Laravel 5 正在加载旧的 CSS的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.4 - 如何在 javascript 加载之前使 @section 屈服
使用内置的 Laravel 5.2 身份验证并加载 SPA,然后为所有其他路由加载 Dingo API
Laravel 5 CORS - XMLHttpRequest 无法加载 http://myapi.com。预检响应具有无效的 HTTP 状态代码 500