【问题标题】:Laravel 5 is loading old cssLaravel 5 正在加载旧的 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
  • 清除浏览器缓存并重新加载页面。

标签: html css laravel gulp


【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 2014-12-06
    • 2015-08-05
    • 1970-01-01
    • 2021-02-02
    • 2016-11-21
    • 2016-10-25
    相关资源
    最近更新 更多