Beim Importieren requestin ein Barebone-Webpack-Projekt werden drei Warnmeldungen angezeigt. Ein minimales Beispiel zur Reproduktion des Fehlers ist auf GitHub (run npm installand npm start) verfügbar .
Critical dependency: the request of a dependency is an expression
Wie kann ich diese Warnung loswerden?
Mehr Informationen:
Webpack versucht, requireAnrufe 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.jsDatei zu meinem Projekt, die die erforderlichen Aufrufe auf irgendeine Weise überschreibt. - Aktualisieren meiner Bibliotheken.
ajv-5.0.1-beta.3hat 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-validatorundrequestnachfolgende Aktualisierungen veröffentlichen. Wenn es eine Möglichkeit gibt,har-validatordie Verwendung der Beta-Version von zu erzwingenajv, würde dies mein Problem lösen. - Andere