Das Mix-Manifest ist nicht vorhanden, obwohl es vorhanden ist

Lesezeit: 4 Minuten

Für mein Admin-Panel extrahiere ich alle Assets, einschließlich der manifest-json.js zu mix.setPublicPath(path.normalize('public/backend/')).

Alle Dateien werden korrekt zum Backend-Ordner hinzugefügt, und die manifest-json.js Datei sieht wie folgt aus:

{
    // all correct here
    "/js/vendor.js": "/js/vendor.js",
    "/js/app.js": "/js/app.js",
    "/css/app.css": "/css/app.css",
    "/js/manifest.js": "/js/manifest.js"
}

Das Problem ist, dass bei der Verwendung

{{ mix('backend/css/app.css') }}

in meinen Blade-Dateien sieht es aus public/manifest-json.js anstatt danach zu suchen backend/manifest-json.js.

Wie kann ich sicherstellen, dass das Recht manifest-json.js Datei verwendet?

  • Mix durch Asset ersetzen – Beispiel Asset(‘dist/css/app.css’)

    – Omar Bachsch

    23. Dezember 2021 um 12:05 Uhr

Benutzer-Avatar
Gvep

Ich hatte dieselbe Ausnahme nach der Bereitstellung Laravel Projekt zum Server. Es funktionierte einwandfrei auf localhost, aber nach viel Recherche fand ich eine Lösung. Wenn diese Ausnahme auf dem Server auftritt, müssen Sie Ihre binden Öffentlichkeit Weg nach public_html

Gehen Sie einfach auf unter App/Anbieter, dort finden Sie Ihre AppServiceProvider Datei und innen Stiefel() Methode machen Sie die Bindung wie unten.

   $this->app->bind('path.public', function() {
        return base_path().'/../public_html';
    });

  • es hängt von Ihrer Ordnerstruktur ab, wenn Ihre laravelApp und public_html im selben Verzeichnis nicht funktionieren, sollten Sie es entsprechend Ihrer Struktur konfigurieren.

    – Gvep

    17. April 2018 um 8:57 Uhr

  • Vielen Dank an Sie, es ist eine viel sauberere Lösung im Vergleich zu anderen! Ich würde auch vorschlagen, eine Art Umgebungskonstante zu verwenden (set in .env file) zur systemweiten Angabe des Pfads zum öffentlichen Verzeichnis.

    – Vintprox

    12. April 2019 um 6:44 Uhr

  • Vielen Dank, diese Lösung hat mein Problem behoben.

    – Ahad abasi rad

    26. März 2020 um 9:53 Uhr

  • Vielen Dank! In meinem Fall habe ich verschiedene öffentliche Routen für Entwicklung und Produktion. Also habe ich diese Zeile vor dem Aufruf von app->bind : if (App::environment(‘production’)){ /* */ }

    – gtamboro

    25. September 2020 um 8:26 Uhr

  • Dies ist die Antwort, die universell funktioniert – insbesondere, wenn Sie sich in einer gemeinsam genutzten Umgebung befinden. Stellen Sie sicher, dass Sie auch diese Anweisungen befolgt haben: stackoverflow.com/questions/44868393/…

    – Andromeda

    21. Mai 2021 um 18:15 Uhr

Ich habe mein Problem mit diesem Befehl gelöst

npm install

und dann

npm run production

Danke.

  • Alternativ können Sie ‘Npm run dev’ anstelle von production ausführen 🙂

    – mpalencia

    4. November 2018 um 7:37 Uhr


  • Wenn ich nach diesem Befehl alle Ordner per FTP auf meinen Server hochgeladen habe, wie kann ich meinen Server per FTP aktualisieren? kann ich nur node_modules hochladen oder benötige ich andere Ordner?

    – Säbel tabatabaee yazdi

    22. April 2020 um 20:07 Uhr


Benutzer-Avatar
Chris

Das Problem, mit dem ich konfrontiert war, war, dass die mix()-helper-Funktion sucht standardmäßig nach der manifest-json-Datei in /public/manifest-json.js Wenn Sie diese Datei also auf einer anderen Verzeichnisebene speichern, wird dieser Fehler ausgegeben.

Nehmen wir an, die manifest-json-Datei ist gespeichert in public/app/manifest-json.jsdann für eine Datei in public/app/css/app.css du würdest verwenden:

<link rel="stylesheet" href="https://stackoverflow.com/questions/45153738/{{ mix("css/app.css', 'app') }}">

Das mix()-helper-Funktion ermöglicht ein zweites Argument, das Verzeichnis der Manifestdatei. Geben Sie es einfach dort an und es wird die richtige Manifestdatei verwendet.

  • Meine Dateien befinden sich im Ordner public_html auf Shared Hosting. Wie kann ich das einstellen?

    – Mahdi Younesi

    16. August 2017 um 19:53 Uhr

  • Danke @chris, endlich gab mir deine Antwort eine Lösung

    – Faridul Khan

    13. Dezember 2020 um 10:12 Uhr

Ich habe das gleiche Problem wie Fragesteller: manifest does not exist Um es zu lösen, habe ich 2 Befehle wie folgt ausgeführt:

npm install

und dann

npm run dev

und der Fehler ist jetzt behoben. Yippi.

Benutzer-Avatar
Solivan

Im gemeinsam genutzte Hosts und laravel 5.6 getestet: nachdem Standardlevels wie hier erklärt durchgeführt wurden; zwei Ebenen benötigt: in app/Providers/AppServiceProvider.php:

$this->app->bind('path.public', function() {
    return realpath(base_path().'/../public_html');
});

und in public_html Datei machen .htaccess Datei mit Inhalt:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
  ErrorDocument 404 /index.php
</IfModule>

Quelle: hier
Diese Datei ändert sich in einigen Situationen am meisten.

das ist alles und hat mein Problem gelöst

Benutzer-Avatar
Denes Papp

Ich hatte das gleiche Problem mit einem Laravel-Paket, dessen Assets nicht veröffentlicht wurden:

Dies hat das Problem für mich gelöst:

php artisan vendor:publish --tag=telescope-assets --force

Quellen:
https://github.com/laravel/telescope/issues/136
https://github.com/laravel/telescope/issues/250

Benutzer-Avatar
fafaaf

Es gibt 3 Möglichkeiten, es zu lösen, ich fasse zusammen, was die Kollegen oben gesagt haben:

Das Problem liegt darin, dass Sie mix() in den Ansichten verwenden.

<link rel="stylesheet" href="{{  mix('dist/css/app.css')  }}">

Lösung 1
ändern Sie es zu diesem.

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

Lösung 2
Wenn Sie keinen Root-Zugriff haben:

Modifiziere den App\Providers\AppServiceProvider Datei und fügen Sie Folgendes hinzu Stiefel() Methode.

$this->app->bind('path.public', function() {
   return base_path().'/../public_html';
});

Lösung 3

Wenn Sie Root-Zugriff haben, führen Sie Folgendes aus:

npm install & npm run dev

1333950cookie-checkDas Mix-Manifest ist nicht vorhanden, obwohl es vorhanden ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy