【问题标题】:How to compile and version assets in Laravel elixir?如何在 Laravel elixir 中编译和版本化资产?
【发布时间】:2016-12-28 13:34:57
【问题描述】:

此时我想为项目配置我的资产。我的 Gulp 文件看起来:

const elixir = require('laravel-elixir');
require('laravel-elixir-vue-2');

elixir(mix => {
   mix.sass('app.scss');
   .webpack('app.js');
});

但我想为我的 css 文件打开版本。但现有信息说要使用:

mix.version('css/app.css'); // public/build/css/app-39d5f9a7.css

我不知道我在哪里迷路了,但我不知道如何让它发挥作用。我想编译我的 .sass 文件,然后给出一个版本。我想使用

<link src='{{ elexir('css/app.css') }}'>

在我的 layout.blade.php 中 怎么做才对?

【问题讨论】:

  • 在你添加mix.version 之后,你能展示一下你的 gulp 文件是什么样的吗?
  • mix.sass('app.scss')。版本('css/app.css')。 webpack('app.js');但我不知道它是否有效......
  • 尝试将版本放在块的底部。此外,请确保您没有关注这些更改 (gulp watch),因为除非您重新启动观察程序,否则它们不会被执行。
  • 我收到语法错误。如何简化“混合”数组

标签: php gulp laravel-elixir


【解决方案1】:

您收到错误的原因是您正在结束语句而不是链接它们。您要么需要删除 ;s(除了最后一个),要么在每个方法调用的开头添加 mix。

将您的 gulp 文件更改为:

const elixir = require('laravel-elixir');
require('laravel-elixir-vue-2');

elixir(mix => {
    mix.sass('app.scss')
        .webpack('app.js')
        .version('css/app.css');
});

另外,你应该改变:

<link src='{{ elexir('css/app.css') }}'>

成为:

<link href='{{ elixir('css/app.css') }}'>

希望这会有所帮助!

【讨论】:

  • 仍然没有得到预期的结果。运行 gulp 后未创建 public/build/css/app-39d5f9a7.css 文件,但现在没有语法错误。
  • @pvaitonis public/css/app.css 是否存在文件?如果是这样,请删除 css 文件夹,运行 gulp 并仔细检查它是否确实生成了。
  • 是的,文件已生成,但似乎版本控制不起作用。
  • 所以您在public/build/css/app-[some-hash].css 没有文件。如果文件确实存在,请检查我的答案的编辑。
  • 是的,运行 gulp 后我没有文件 public/build/css/app-[some-hash].css。
猜你喜欢
  • 1970-01-01
  • 2021-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多