Mit MaterializeCSS mit Webpack - Nicht beheben Modul 'hammerjs'
Ich Baue ein Projekt mit webpack. Das Projekt nutzt materializecss
. Wenn ich materialize.js
auf den Eintrag " Datei, beschwert es sich mit dem folgenden Fehler
Cannot resolve module 'hammerjs'
Wenn ich die Datei öffnen, ich kann sehen, dass die definition da, aber es erscheint webpack ist nicht in der Lage, ihn zu identifizieren. Gleiche Sache mit weakmap in knockout-es6. Meine Lösung dafür war es, fügen Sie einen Verweis auf hammer.min.js
im resolve.alias
aber nicht sicher, ob das ist die richtige Sache zu tun.
Wie bekomme ich webpack
zu erkennen, diese Abhängigkeiten, wenn Sie gebündelt sind, zusammen mit der Bibliothek in Frage - in diesem Fall materialize.js
?
hammerjs
installiert als Abhängigkeiten zu Ihrem Projekt (dh. npm i hammerjs --save
)? Wenn ja, ich denke Webpack sollte in der Lage sein, um es abzuholen, solange es innerhalb von beheben.modulesDirectories.Es arbeitete. Tut dies nicht bedeuten, dass ich werde haben
hammerjs
. Bedeutet das, dass hammerjs
ist zweimal geladen? Ein aus dem NPM-Paket und die anderen, die eingebettet ist in materialize.js.Ich erweiterte mein Kommentar in eine Antwort mit einigen zusätzlichen Informationen.
InformationsquelleAutor ritcoder | 2015-05-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Solange Sie
hammerjs
installiert haben, um Ihr Projekt (dh.npm i hammerjs --save
), sollte er es finden. Wie bereits von @egunays sollten Sie auchimport 'expose?Hammer!hammerjs/hammer
Zugang zuHammer
Objekt.Falls Sie besorgt über die möglichen überschneidungen (Sie können dies überprüfen, indem Sie untersuchen die generierten Bundles), die Sie verwenden können
webpack.optimize.DedupePlugin
.webpack.optimize.CommonsChunkPlugin
kann in handliches kommen auch. , Das Ihnen erlaubt, trennen Sie Ihre app-code von einem Anbieter zu bündeln.Sehen offizielle Optimierung docs für mehr info.
Ich hatte folgende Zeile hinzufügen, damit es funktioniert:
import 'expose?Hammer!hammerjs/hammer
;Danke! Ich fügte hinzu, dass etwas auf die Antwort.
InformationsquelleAutor Juho Vepsäläinen
Ist es besser ProvidePlugin.
Diese benötigt keinen extra loader und ist eigentlich empfohlen, in den docs:
InformationsquelleAutor Austin Pray