2016-12-28 31 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