2015-02-05 75 views
16

我收到一条错误消息,laravel 5,我不明白。laravel 5 - css文件没有在资产清单中定义?

Next exception 'ErrorException' with message 'File build/css/all.css not    
defined in asset manifest. 

我还没有安装任何资产管道什么的。只是用灵药来编译,运行如下和版本的SCSS文件到all.css,其中包括它与<link rel="stylesheet" href="{{ elixir("css/all.css") }}">

主视图这是什么“资产清单”,以及如何解决这个问题?`

回答

27

的问题是当然你想达到什么目的。

如果你简单的放all.css文件到public/css位置,你想简单地显示这个文件,你可以使用:

<link rel="stylesheet" href="{{ asset("css/all.css") }}" 

但是如果你打算修改这个文件,你不希望有缓存的问题,您可以再次把这个all.css文件到public/css然后放入gulpfile.js

var elixir = require('laravel-elixir'); 

elixir(function(mix) { 
    mix.version("public/css/all.css"); 
}); 

现在你需要运行

gulp 
在控制台

,现在你可以使用

<link rel="stylesheet" href="{{ elixir("css/all.css") }}" 

,你以前在你的HTML一样。

它会创建public/build/文件夹与rev-manifest.json(此文件在您的情况下丢失)。

我建议你观看Managing assets Laracasts episode以更好地理解它。

2

同样的问题在这里!我通过创建生产版本的css来解决它。我更新gulefile.js为波纹管,

elixir(function(mix) { 
    mix.sass('app.scss').version('css/app.css').browserify('app.js'); 
}); 

然后运行以下命令将在公众创造REV-的manifest.json文件/建造目录。

gulp --production 

祝你好运!