Search code examples
laravelassetsgulplaravel-5laravel-elixir

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


I get an Error Message with laravel 5, which I don't understand.

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

I haven't installed any asset pipeline or something. Just used elixir to compile, minify and version the scss-file to all.css and included it into the master view with <link rel="stylesheet" href="{{ elixir("css/all.css") }}">

What is this 'asset manifest' and how to fix this error?`


Solution

  • The question is of course what you want to achieve.

    If you simply put all.css file into the public/css directory and you want to display this file, you can use:

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

    However if you plan to modify this file and you don't want to have caching issues, you can put this all.css file again into public/css then put into gulpfile.js:

    var elixir = require('laravel-elixir');
    
    elixir(function(mix) {
        mix.version('public/css/all.css');
    });
    

    Now you'll need to run:

    gulp
    

    in your terminal, and now you can use

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

    as you previously did in your HTML.

    It will create public/build/ folder with rev-manifest.json (this file is missing in your case).

    I would recommend you to watch Managing assets Laracasts episode to understand it a bit better.