2017-02-03 5 views
2

Ich baue eine App mit dem AirConsole JS-Dienst. AirConsole bietet nur ihre Bibliothek als .js Datei, die Sie auf Ihrer Seite mit den üblichen umfassen würde:Import von Nicht-Modul-Hersteller-Skript in Webpack

<script type="text/javascript" src="https://www.airconsole.com/api/airconsole-1.6.0.js"></script> 

Aber ich bin mit Webpack und möchte das Skript in meine anderen JS-Dateien import. Ich habe ein paar Methoden ohne Glück versucht:

  1. einen Eintrag Datei vendor Namen erstellen, die die airconsole.js Datei importiert. Dies erstellt eine vendor.bundle.js Datei, die ich auf meiner Seite hinzufügen kann
  2. Fügen Sie den AirConsole-Pfad zu meinem index Einstiegspunkt, so dass das Skript in der Datei bundle.js enthalten ist. Mit dieser Methode kann ich die AirConsole Code überprüfen, ob in der Datei enthalten bundle.js aber versuchen, eine neue Instanz von AirConsole Ergebnisse zu schaffen, in AirConsole undefiniert

Bin ich auf dem richtigen Weg mit diesen Methoden? Wenn nicht, was ist der empfohlene Weg, um eine Nicht-Modul .js Datei zu importieren?

Antwort

5

Der beste Weg ist durch eine Aktion, die wir "shimming" nennen. Sie können unsere neue Dokumentseite für weitere Informationen besuchen. Es gibt ein paar verschiedene Möglichkeiten (abhängig von den Bedürfnissen) für Ihr Nicht-Modul.

https://webpack.js.org/guides/shimming/

+0

Scheint, wie ich das 'script-loader' brauchen, wenn ich verwende [Datei] (https://www.airconsole.com/api/airconsole-1.6.0.js). Wenn ich versuche, mit 'const airconsole = new AirConsole()' eine neue Instanz zu erstellen, wird ein 'undefined' Fehler ausgegeben. –

+0

Funktioniert der 'script-loader' auch in' webpack.config' oder ist er nur für 'require' Anweisungen gedacht. –

+0

Jeder Loader, den Sie in Ihrer Konfiguration verwenden können (was empfohlen wird), Sie können die Eigenschaft 'include' verwenden, um auf einen bestimmten ABS-Pfad einer Datei für den Loader in Config zu verweisen. –

Verwandte Themen