【问题标题】:Laravel mix - Versioning does not workLaravel mix - 版本控制不起作用
【发布时间】:2019-02-01 12:08:15
【问题描述】:

我正在使用Laravel 5.6 使用laravel-mix@2.1.14 进行一个新项目。当我使用npm run production 编译我的资产时,它们不像should 那样带有后缀

注意

即使删除 if mix.inProduction(),版本控制也不起作用

问题

我是唯一面临这个问题的人吗?我该怎么办?

webpack.mix.js

let mix = require('laravel-mix');
mix.js('resources/assets/js/app.js', 'public/js')
 .sass('resources/assets/sass/app.scss', 'public/css')
 .copyDirectory('resources/assets/images', 'public/images');

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

【问题讨论】:

  • 目前也有同样的问题。 (我的 laravel-mix 是 2.1.14

标签: laravel-5.6 laravel-mix


【解决方案1】:

Laravel 5.6 的组合现在不同了。它现在使用 url 查询来尝试访问您的资产,而不是使用哈希作为编译文件的后缀。

尝试打开您的浏览器开发工具并查看您的页面如何包含您的资产。它将在 URL 中附加一个 id 参数。

例如GET /js/app.js?id=<SOME_HASH_HERE>

【讨论】:

  • 所以你确认缓存清除工作正常吗?
  • 是的。要自行检查,请查看浏览器的开发工具。
  • @LéoCoco 注意:您现在必须使用<script src="{{ mix('js/app.js') }}"></script> 而不是<script src="{{ asset('js/app.js') }}"></script> 才能获得带有id 的正确资源URL。
猜你喜欢
  • 2018-08-03
  • 2018-10-21
  • 2018-03-10
  • 2018-01-15
  • 1970-01-01
  • 1970-01-01
  • 2017-07-21
  • 2020-11-22
  • 2016-02-05
相关资源
最近更新 更多