Laravel 5 - CSS文件在资源清单中未定义?

17

我使用laravel 5时遇到了一个错误信息,但我不理解。

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

我没有安装任何资产管道之类的东西。只是使用Elixir编译、压缩和版本化scss文件为all.css并在主视图中使用<link rel="stylesheet" href="{{ elixir("css/all.css") }}">包含它。

什么是“资源清单”以及如何修复此错误?

2个回答

29

当然问题是你想要实现什么。

如果你只是把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(在您的情况下缺少此文件)。

我建议您观看管理资产Laracasts剧集以更好地理解它。


4

我也遇到了同样的问题!我通过创建CSS的生产版本解决了这个问题。我按照以下方式更新了gulefile.js:

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

接下来运行以下命令,将在public/build目录下创建rev-manifest.json文件。

 gulp --production 

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接