如何在 Laravel elixir 中编译和版本化资产?

How to compile and version assets in Laravel elixir?

现在我想为项目配置我的资产。我的 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 怎么做才对?

您收到错误的原因是您结束语句而不是链接它们。您需要删除 ;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') }}'>

希望对您有所帮助!