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

laravel 5 - css file is not defined in asset manifest?

我收到 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") }}">

将其包含到主视图中

这是什么 'asset manifest' 以及如何修复此错误?`

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

如果只是简单的将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 中所做的那样。

它将使用 rev-manifest.json 创建 public/build/ 文件夹(您的情况下缺少此文件)。

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

同样的问题!!我通过创建 css 的生产版本来解决它。我更新 gulefile.js 如下,

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

然后 运行 以下命令将在 public/build 中创建 rev-manifest.json 文件目录。

 gulp --production 

祝你好运!!