Beim Importieren request
in ein Barebone-Webpack-Projekt werden drei Warnmeldungen angezeigt. Ein minimales Beispiel zur Reproduktion des Fehlers ist auf GitHub (run npm install
and npm start
) verfügbar .
Critical dependency: the request of a dependency is an expression
Wie kann ich diese Warnung loswerden?
Mehr Informationen:
Webpack versucht, require
Anrufe statisch aufzulösen , um ein minimales Bundle zu erstellen . Wenn eine Bibliothek Variablen oder Ausdrücke in einem erforderlichen Aufruf verwendet (z. B. require('' + 'nodent')
in diesen Zeilen von ajv
), kann Webpack diese nicht statisch auflösen und importiert das gesamte Paket.
Mein Grundgedanke ist, dass dieser dynamische Import in der Produktion nicht wünschenswert ist und Code am besten warnungsfrei gehalten wird. Das heißt, ich möchte eine Lösung, die das Problem löst. Z.B:
- Konfigurieren Sie das Webpack manuell, um die erforderlichen Bibliotheken zu importieren und das Auftreten von Warnungen zu verhindern.
- Hinzufügen einer
hack.js
Datei zu meinem Projekt, die die erforderlichen Aufrufe auf irgendeine Weise überschreibt. - Aktualisieren meiner Bibliotheken.
ajv-5.0.1-beta.3
hat einen Fix, der die Warnungen zum Schweigen bringt. Allerdings, wenn ich es verwenden möchte, muss ich warten , bis es freigegeben wird, und dann bishar-validator
undrequest
nachfolgende Aktualisierungen veröffentlichen. Wenn es eine Möglichkeit gibt,har-validator
die Verwendung der Beta-Version von zu erzwingenajv
, würde dies mein Problem lösen. - Andere