2015-02-05 9 views
16

Ich bekomme eine Fehlermeldung mit Laravel 5, die ich nicht verstehe.Laravel 5 - CSS-Datei ist nicht in Asset-Manifest definiert?

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

Ich habe keine Asset-Pipeline oder so etwas installiert. Nur Elixier verwendet zu kompilieren, minify und Version der SCSS-Datei zu all.css und enthalten in die Masteransicht mit <link rel="stylesheet" href="{{ elixir("css/all.css") }}">

Was diese ‚Asset-Manifest‘ ist und wie man diesen Fehler beheben? `

Antwort

27

Die Frage ist, natürlich, was du erreichen willst.

Wenn Sie einfach put all.css Datei in public/css Lage und Sie wollen einfach diese Datei anzuzeigen, können Sie verwenden:

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

Allerdings, wenn Sie diese Datei ändern planen und Sie nicht wollen, Caching haben Fragen, können Sie diese all.css Datei dann wieder in public/css setzen setzen in gulpfile.js

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

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

jetzt müssen Sie

laufen
gulp 

in Ihrer Konsole und jetzt können Sie

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

verwenden, wie Sie vorher in Ihrer HTML tun.

Es wird public/build/ Ordner mit rev-manifest.json erstellen (diese Datei fehlt in Ihrem Fall).

Ich würde Ihnen empfehlen, Managing assets Laracasts episode zu sehen, um es ein bisschen besser zu verstehen.

2

Gleiches Problem hier !! Ich löse es, indem ich Produktionsversion von css erstelle. Ich aktualisiere gulefile.js als Gebrüll,

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

Dann folgenden Befehl ausführen, die rev-manifest.json Datei in public/bauen Verzeichnis erstellen wird.

gulp --production 

Viel Glück !!