laravel 5 - css文件未在资产清单中定义?

问题描述 投票:17回答:2

我收到了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") }}">的主视图中

什么是“资产清单”以及如何解决这个错误?`

laravel assets gulp laravel-5 laravel-elixir
2个回答
28
投票

问题当然是你想要实现的目标。

如果您只是将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以便更好地理解它。


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 

祝好运!!

© www.soinside.com 2019 - 2024. All rights reserved.