2017-07-18 2 views
0

Ich bin ziemlich neu in der Verwaltung von Assets auf andere Weise als beim direkten Herunterladen und beim Kopieren der erforderlichen Dateien in einen angegebenen Ordner und einfach darauf verweisen. Ich möchte jedoch mein Vermögen "nah am Rahmen" halten und hoffe daher, Klarheit darüber zu bekommen, wie es in Laravel gemacht wird.Laravel Asset Management, Verwendung der installierten NPM-Bibliothek (Referenzfehler)

Ich bin mit Laravel v5.4 und NPM v5.3.0

Ich möchte die Süße Alarm-Bibliothek verwenden und tat so

npm install sweetalert 

, die die Dateien im node_modules Verzeichnis abgelegt und package.json wie erwartet

Hier beginnt die Verwirrung. Ich habe dann

npm install --no-bin-links 

(der No-bin-Links-Flag für Windows-Hosts durch die docs empfohlen)

und

npm run dev 

nachgedacht würde kompilieren/minify die Bibliothek zu meiner App. js oder vendor.js (was nicht existiert), oder zumindest etwas Magie, damit ich die Bibliothek benutzen kann.

Die Ausgangszustände:

DONE Compiled successfully in 8551ms 

, die mir zeigt, dass ich einfach die süße Benachrichtigungs Bibliothek in diesem Prozess sind gescheitert.

PhpStorm hat die Bibliothek als automatische Vervollständigung Option vorschlagen, aber die Anwendung nicht die Bibliothek laden, unter Angabe in der JS-Konsole auf Last:

jQuery.Deferred exception: swal is not defined ReferenceError: swal is not defined 

ich auch „require“ versucht habe, die -ing Bibliothek in bootstrap.js, die besagt:

window.swal = require('sweetalert'); 

oder einfach

swal = require('sweetalert'); 

Wo ‚swe etalert 'wird wiederum von der IDE-Autocomplete vorgeschlagen.

Hier ist, wie ich versuchte, es zu benutzen:

$(document).ready(function() { 
     alert("Hello!"); //works 
     swal({ 
      title: "Hello!", 
      text: "Hellooo", 
      type: "error", 
      confirmButtonText: "OK THEN" 
     }); 
    }); 

, die den oben genannten Fehler wirft.

Ich habe auch versucht

window.swal({... 
sweetAlert({... 

mit der Initialisierung, die scheitern.

Was fehlt mir? Und wie soll man NPM-Pakete in einem Laravel-Projekt einsetzen/Was sind die besten Praktiken?

Jede Hilfe wird sehr geschätzt.

Antwort

0

Sie müssen einen Verweis auf Ihre sweetalert Vendor-Datei in Ihrer Konfigurationsdatei webpack.js hinzufügen.

mix.scripts('/vendor/..../sweetalert2.min.js', '/public/js/sweetalert.min.js'); 

Das wird es von Ihrem Lieferanten Ordner zu Ihrem öffentlichen Ordner kopieren, wenn Sie

laufen
npm run dev 
Verwandte Themen