2016-12-28 45 views
1

此時我想爲項目配置我的資產。我的Gulp文件看起來如下:如何在Laravel elixir中編譯和版本資產?

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 怎麼做是正確的?

+1

在添加'mix.version'之後,你可以顯示你的吞食文件嗎? –

+0

mix.sass('app.scss')。 版本('css/app.css')。 webpack('app.js'); 但我不知道它是否工作... – pvaitonis

+0

嘗試將版本放在塊的底部。另外,確保你沒有注意到這些改變('gulp watch'),因爲除非你重新啓動觀察者,否則它們將不會被操作。 –

回答

1

你得到一個錯誤的原因是因爲你結束了陳述而不是鏈接它們。您可能需要刪除;(除最後一個之外)或在每個方法調用的開始處添加混合。

更改一飲而盡文件是:

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') }}'> 

希望這有助於!

+0

仍然沒有得到預期的結果。 public/build/css/app-39d5f9a7.css文件不是在運行gulp之後創建的,而是現在沒有語法錯誤。 – pvaitonis

+0

@pvaitonis文件是否存在於'public/css/app.css'?如果是這樣,請刪除css文件夾,運行gulp並仔細檢查它是否已經生成。 –

+0

是的,生成文件,但似乎版本控制不起作用。 – pvaitonis