web-dev-qa-db-fra.com

laravel 5 - le fichier css n'est pas défini dans le manifeste des actifs?

Je reçois un message d'erreur avec laravel 5, que je ne comprends pas.

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

Je n'ai installé aucun pipeline d'actifs ou quelque chose. Je viens d'utiliser l'élixir pour compiler, réduire et versionner le fichier scss en all.css Et l'inclure dans la vue principale avec <link rel="stylesheet" href="{{ elixir("css/all.css") }}">

Qu'est-ce que ce "manifeste d'actif" et comment corriger cette erreur?

17
haheute

La question est bien sûr de savoir ce que vous voulez réaliser.

Si vous mettez simplement all.css fichier dans le public/css et que vous souhaitez afficher ce fichier, vous pouvez utiliser:

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

Cependant, si vous prévoyez de modifier ce fichier et que vous ne voulez pas avoir de problèmes de mise en cache, vous pouvez mettre ceci all.css fichier à nouveau dans public/css puis mettre dans gulpfile.js:

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

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

Vous devez maintenant exécuter:

gulp

dans votre terminal, et maintenant vous pouvez utiliser

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

comme vous l'avez fait précédemment dans votre code HTML.

Cela créera public/build/ dossier avec rev-manifest.json (ce fichier est manquant dans votre cas).

Je vous recommande de regarder Gérer les actifs de l'épisode Laracasts pour mieux le comprendre.

28
Marcin Nabiałek

Même problème ici !! Je le résous en créant une version de production de css. Je mets à jour gulefile.js comme ci-dessous,

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

Ensuite, exécutez la commande suivante qui créera le fichier rev-manifest.json dans le répertoire public/build.

 gulp --production 

Bonne chance!!

4
Jakir Hosen Khan