【问题标题】:Laravel Mix version() is forgetting one fileLaravel Mix version() 忘记了一个文件
【发布时间】:2017-11-09 03:21:37
【问题描述】:

我正在使用 Laravel 5.4 和 Mix 来构建我的 CSS/JS 文件。

这是我完整的 webpack.mix.js 文件:

mix
    .webpackConfig({output: {filename: '[name].js', chunkFilename: 'js/[name].[chunkhash].app.js', publicPath: '/'}})
    .js(['resources/assets/js/app.js'], 'public/js')
    .extract(['vue', 'jquery'])
    .sass('resources/assets/sass/app.scss', 'public/css')
    .version();

出于某种原因,JS 块和 CSS 文件的版本控制正确,但我的 app.js 不是。显然,这会导致我的 web 应用出现各种与缓存相关的问题。

我试过了:

  • 添加文件名作为 version() 的参数
  • 删除清单

但没有运气。任何提示将不胜感激。谢谢!

【问题讨论】:

  • 您可以尝试从mix.js() 中删除[] 吗?
  • 不幸的是,这并没有改变任何事情。

标签: javascript laravel laravel-5 laravel-5.4 laravel-mix


【解决方案1】:

事实证明,在将 Laravel Mix 升级到 >1 (1.0.6) 之后,不再需要第一行。 以前需要确保 webpack 的代码拆分功能会在块名称中添加哈希(类似于 mix.version() 所做的) - 它阻止了 Mix 重命名我的主 app.js 文件。

删除此行后,一切都会按预期进行。

【讨论】:

  • 我的错,我没有要求你的Laravel-Mix 版本。是的,显然webpackConfig() 现在不需要。
  • 好吧,显然,它仍然是。当我删除自定义配置时,这些块不是“版本化的”。看起来很难同时对块和主文件进行版本控制......
  • 检查您的mix-manifest.json 文件。如果您使用mix.version(),其中应该有哈希值。 v1.0+ 中删除了文件名的散列
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-26
  • 2019-11-03
  • 2021-04-13
  • 1970-01-01
  • 1970-01-01
  • 2018-03-27
  • 2021-08-24
相关资源
最近更新 更多